make m_dupstr return NULL if the string was empty.
[apps/madmutt.git] / alias.c
diff --git a/alias.c b/alias.c
index beb6ad2..f791206 100644 (file)
--- a/alias.c
+++ b/alias.c
 #include <string.h>
 #include <ctype.h>
 
-#include "lib/mem.h"
-#include "lib/intl.h"
-#include "lib/str.h"
+#include <lib-lib/mem.h>
+#include <lib-lib/ascii.h>
+#include <lib-lib/str.h>
+#include <lib-lib/file.h>
+#include <lib-lib/macros.h>
+
 #include "lib/rx.h"
 #include "lib/debug.h"
 
 #include "mutt.h"
+#include "enter.h"
 #include "mutt_curses.h"
 #include "mutt_idna.h"
 #include "mutt_menu.h"
@@ -35,7 +39,7 @@ static struct mapping_t AliasHelp[] = {
   {N_("Undel"), OP_UNDELETE},
   {N_("Select"), OP_GENERIC_SELECT_ENTRY},
   {N_("Help"), OP_HELP},
-  {NULL}
+  {NULL, OP_NULL}
 };
 
 ADDRESS *mutt_lookup_alias (const char *s)
@@ -63,7 +67,7 @@ static ADDRESS *mutt_expand_aliases_r (ADDRESS * a, LIST ** expn)
       if (t) {
         i = 0;
         for (u = *expn; u; u = u->next) {
-          if (str_cmp (a->mailbox, u->data) == 0) { /* alias already found */
+          if (m_strcmp(a->mailbox, u->data) == 0) { /* alias already found */
             debug_print(1, ("loop in alias found for '%s'\n", a->mailbox));
             i = 1;
             break;
@@ -71,8 +75,8 @@ static ADDRESS *mutt_expand_aliases_r (ADDRESS * a, LIST ** expn)
         }
 
         if (!i) {
-          u = mem_malloc (sizeof (LIST));
-          u->data = str_dup (a->mailbox);
+          u = p_new(LIST, 1);
+          u->data = m_strdup(a->mailbox);
           u->next = *expn;
           *expn = u;
           w = rfc822_cpy_adr (t);
@@ -172,10 +176,10 @@ static void write_safe_address (FILE * fp, char *s)
   }
 }
 
-ADDRESS *mutt_get_address (ENVELOPE * env, char **pfxp)
+ADDRESS *mutt_get_address (ENVELOPE * env, const char **pfxp)
 {
   ADDRESS *adr;
-  char *pfx = NULL;
+  const char *pfx = NULL;
 
   if (mutt_addr_is_user (env->from)) {
     if (env->to && !mutt_is_mail_list (env->to)) {
@@ -252,9 +256,9 @@ retry_name:
     }
   }
 
-  new = mem_calloc (1, sizeof (ALIAS));
+  new = p_new(ALIAS, 1);
   new->self = new;
-  new->name = str_dup (buf);
+  new->name = m_strdup(buf);
 
   mutt_addrlist_to_local (adr);
 
@@ -290,7 +294,7 @@ retry_name:
     mutt_free_alias (&new);
     return;
   }
-  new->addr->personal = str_dup (buf);
+  new->addr->personal = m_strdup(buf);
 
   buf[0] = 0;
   rfc822_write_address (buf, sizeof (buf), new->addr, 1);
@@ -400,13 +404,13 @@ int mutt_alias_complete (char *s, size_t buflen)
 #define min(a,b)        ((a<b)?a:b)
 
   if (s[0] != 0) {              /* avoid empty string as strstr argument */
-    memset (bestname, 0, sizeof (bestname));
+    p_clear(bestname, sizeof(bestname));
 
     while (a) {
       if (a->name && strstr (a->name, s) == a->name) {
         if (!bestname[0])       /* init */
           strfcpy (bestname, a->name,
-                   min (str_len (a->name) + 1, sizeof (bestname)));
+                   min (m_strlen(a->name) + 1, sizeof (bestname)));
         else {
           for (i = 0; a->name[i] && a->name[i] == bestname[i]; i++);
           bestname[i] = 0;
@@ -416,9 +420,9 @@ int mutt_alias_complete (char *s, size_t buflen)
     }
 
     if (bestname[0] != 0) {
-      if (str_cmp (bestname, s) != 0) {
+      if (m_strcmp(bestname, s) != 0) {
         /* we are adding something to the completion */
-        strfcpy (s, bestname, str_len (bestname) + 1);
+        strfcpy (s, bestname, m_strlen(bestname) + 1);
         return 1;
       }
 
@@ -428,9 +432,9 @@ int mutt_alias_complete (char *s, size_t buflen)
       while (a) {
         if (a->name && (strstr (a->name, s) == a->name)) {
           if (!a_list)          /* init */
-            a_cur = a_list = (ALIAS *) mem_malloc (sizeof (ALIAS));
+            a_cur = a_list = p_new(ALIAS, 1);
           else {
-            a_cur->next = (ALIAS *) mem_malloc (sizeof (ALIAS));
+            a_cur->next = p_new(ALIAS, 1);
             a_cur = a_cur->next;
           }
           memcpy (a_cur, a, sizeof (ALIAS));
@@ -450,7 +454,7 @@ int mutt_alias_complete (char *s, size_t buflen)
   while (a_list) {
     a_cur = a_list;
     a_list = a_list->next;
-    mem_free (&a_cur);
+    p_delete(&a_cur);
   }
 
   /* remove any aliases marked for deletion */
@@ -664,7 +668,7 @@ new_aliases:
     menu->max++;
   }
 
-  mem_realloc (&AliasTable, menu->max * sizeof (ALIAS *));
+  p_realloc(&AliasTable, menu->max);
   menu->data = AliasTable;
 
   for (i = omax, aliasp = aliases; aliasp; aliasp = aliasp->next, i++) {
@@ -728,6 +732,6 @@ new_aliases:
   }
 
   mutt_menuDestroy (&menu);
-  mem_free (&AliasTable);
+  p_delete(&AliasTable);
 
 }