lua bindings: add ctor/dtor.
[apps/madmutt.git] / alias.c
diff --git a/alias.c b/alias.c
index 84eda4d..03482c6 100644 (file)
--- a/alias.c
+++ b/alias.c
@@ -107,10 +107,10 @@ int mutt_addr_is_user(address_t *addr)
     if (!addr->mailbox)
         return 0;
 
-    if (!ascii_strcasecmp(addr->mailbox, Username)
-    ||  string_is_address(addr->mailbox, Username, Hostname)
-    ||  string_is_address(addr->mailbox, Username, mutt_fqdn(0))
-    ||  string_is_address(addr->mailbox, Username, mutt_fqdn(1))
+    if (!ascii_strcasecmp(addr->mailbox, MCore.username)
+    ||  string_is_address(addr->mailbox, MCore.username, Hostname)
+    ||  string_is_address(addr->mailbox, MCore.username, mutt_fqdn(0))
+    ||  string_is_address(addr->mailbox, MCore.username, mutt_fqdn(1))
     ||  (From && !ascii_strcasecmp(From->mailbox, addr->mailbox)))
     {
         return 1;
@@ -160,7 +160,8 @@ static int alias_sanitize(const char *s, char *d)
         s++;
     }
 
-    *d = '\0';
+    if (d)
+        *d = '\0';
     return rv;
 }
 
@@ -286,7 +287,7 @@ void mutt_create_alias(ENVELOPE *cur, address_t *iadr)
         return;
     }
 
-    mutt_expand_path(buf, sizeof (buf));
+    mutt_expand_path(buf, sizeof(buf));
     rc = safe_fopen (buf, "a");
 
     if (rc) {
@@ -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)
 {
-  mutt_FormatString (s, slen, NONULL (AliasFmt), (format_t *)alias_format_str,
-                     (unsigned long)((alias_t **)m->data)[num],
-                     M_FORMAT_ARROWCURSOR);
+    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)