make m_dupstr return NULL if the string was empty.
[apps/madmutt.git] / imap / command.c
index b4b3fc9..915e3f1 100644 (file)
@@ -436,7 +436,7 @@ static void cmd_parse_capabilities (IMAP_DATA * idata, char *s)
   p_delete(&idata->capstr);
   idata->capstr = m_strdup(s);
 
-  memset (idata->capabilities, 0, sizeof (idata->capabilities));
+  p_clear(idata->capabilities, 1);
 
   while (*s) {
     for (x = 0; x < CAPMAX; x++)
@@ -572,11 +572,11 @@ static void cmd_parse_lsub (IMAP_DATA* idata, char* s) {
     strfcpy (buf, "mailboxes \"", sizeof (buf));
     mutt_account_tourl (&idata->conn->account, &url);
     url.path = s;
-    if (!str_cmp (url.user, ImapUser))
+    if (!m_strcmp(url.user, ImapUser))
       url.user = NULL;
     url_ciss_tostring (&url, buf + 11, sizeof (buf) - 10, 0);
-    str_cat (buf, sizeof (buf), "\"");
-    memset (&token, 0, sizeof (token));
+    m_strcat(buf, sizeof(buf), "\"");
+    p_clear(&token, 1);
     err.data = errstr;
     err.dsize = sizeof (errstr);
     if (mutt_parse_rc_line (buf, &token, &err))
@@ -596,7 +596,7 @@ static void cmd_parse_myrights (IMAP_DATA * idata, char *s)
   s = imap_next_word (s);
 
   /* zero out current rights set */
-  memset (idata->rights, 0, sizeof (idata->rights));
+  p_clear(idata->rights, 1);
 
   while (*s && !isspace ((unsigned char) *s)) {
     switch (*s) {