oops, d can be NULL !
[apps/madmutt.git] / alias.c
diff --git a/alias.c b/alias.c
index 24b8b36..5eab9db 100644 (file)
--- a/alias.c
+++ b/alias.c
@@ -160,7 +160,8 @@ static int alias_sanitize(const char *s, char *d)
         s++;
     }
 
-    *d = '\0';
+    if (d)
+        *d = '\0';
     return rv;
 }
 
@@ -479,18 +480,18 @@ int mutt_alias_complete (char *s, size_t buflen)
   return 0;
 }
 
-static const format_t *alias_format_str (char *dest, size_t destlen, char op,
-                                     const format_t *src, const char *fmt,
-                                     const char *ifstring __attribute__ ((unused)),
-                                     const char *elsestring __attribute__ ((unused)),
-                                     unsigned long data, format_flag flags __attribute__ ((unused)))
+static const char *
+alias_format_str(char *dest, ssize_t destlen, char op, const char *src,
+                 const char *fmt, const char *ifstr __attribute__ ((unused)),
+                 const char *elstr __attribute__ ((unused)),
+                 anytype data, format_flag flags __attribute__ ((unused)))
 {
   char tmp[STRING], adr[STRING];
-  alias_t *alias = (alias_t *) data;
+  alias_t *alias = data.ptr;
 
   switch (op) {
   case 'f':
-    m_strcpy(dest, destlen, alias->del ? "D" : " ");
+    m_strputc(dest, destlen, alias->del ? 'D' : ' ');
     break;
   case 'a':
     mutt_format_s(dest, destlen, fmt, alias->name);
@@ -506,18 +507,18 @@ static const format_t *alias_format_str (char *dest, size_t destlen, char op,
     snprintf(dest, destlen, tmp, alias->num + 1);
     break;
   case 't':
-    m_strcpy(dest, destlen, alias->tagged ? "*" : " ");
+    m_strputc(dest, destlen, alias->tagged ? '*' : ' ');
     break;
   }
 
-  return (src);
+  return src;
 }
 
-static void alias_entry (char *s, ssize_t slen, MUTTMENU * m, int num)
+static void alias_entry(char *s, ssize_t slen, MUTTMENU *m, int num)
 {
-  m_strformat (s, slen, NONULL (AliasFmt), (format_t *)alias_format_str,
-                     (unsigned long)((alias_t **)m->data)[num],
-                      option(OPTARROWCURSOR) ? M_FORMAT_ARROWCURSOR : 0);
+    m_strformat(s, slen, COLS - SW, AliasFmt, alias_format_str,
+                ((alias_t **)m->data)[num],
+                option(OPTARROWCURSOR) ? M_FORMAT_ARROWCURSOR : 0);
 }
 
 static int alias_tag (MUTTMENU * menu, int n, int m)