use buffers instead of realloc-ed string. makes code shorter.
[apps/madmutt.git] / imap / message.c
index cc339b7..df604d7 100644 (file)
@@ -119,7 +119,7 @@ int imap_read_headers (IMAP_DATA * idata, int msgbegin, int msgend)
           break;
 
         if ((mfhrc =
-            msg_fetch_header_fetch (idata->ctx, &h, idata->cmd.buf, fp)) == -1)
+            msg_fetch_header_fetch (idata->ctx, &h, idata->cmd.buf.data, fp)) == -1)
           continue;
         else if (mfhrc < 0)
           break;
@@ -212,7 +212,7 @@ int imap_read_headers (IMAP_DATA * idata, int msgbegin, int msgend)
         break;
 
       if ((mfhrc =
-           msg_fetch_header (idata->ctx, &h, idata->cmd.buf, fp)) == -1)
+           msg_fetch_header (idata->ctx, &h, idata->cmd.buf.data, fp)) == -1)
         continue;
       else if (mfhrc < 0)
         break;
@@ -391,7 +391,7 @@ int imap_fetch_message (MESSAGE * msg, CONTEXT * ctx, int msgno)
     if ((rc = imap_cmd_step (idata)) != IMAP_CMD_CONTINUE)
       break;
 
-    pc = idata->cmd.buf;
+    pc = idata->cmd.buf.data;
     pc = imap_next_word (pc);
     pc = imap_next_word (pc);
 
@@ -422,7 +422,7 @@ int imap_fetch_message (MESSAGE * msg, CONTEXT * ctx, int msgno)
           /* pick up trailing line */
           if ((rc = imap_cmd_step (idata)) != IMAP_CMD_CONTINUE)
             goto bail;
-          pc = idata->cmd.buf;
+          pc = idata->cmd.buf.data;
 
           fetched = 1;
         }
@@ -451,7 +451,7 @@ int imap_fetch_message (MESSAGE * msg, CONTEXT * ctx, int msgno)
   if (rc != IMAP_CMD_OK)
     goto bail;
 
-  if (!fetched || !imap_code (idata->cmd.buf))
+  if (!fetched || !imap_code (idata->cmd.buf.data))
     goto bail;
 
   /* Update the header information.  Previously, we only downloaded a
@@ -565,7 +565,7 @@ int imap_append_message (CONTEXT * ctx, MESSAGE * msg)
   if (rc != IMAP_CMD_RESPOND) {
     char *pc;
 
-    pc = vskipspaces(idata->cmd.buf + SEQLEN);
+    pc = vskipspaces(idata->cmd.buf.data + SEQLEN);
     pc = imap_next_word (pc);
     mutt_error ("%s", pc);
     mutt_sleep (1);
@@ -596,10 +596,10 @@ int imap_append_message (CONTEXT * ctx, MESSAGE * msg)
     rc = imap_cmd_step (idata);
   while (rc == IMAP_CMD_CONTINUE);
 
-  if (!imap_code (idata->cmd.buf)) {
+  if (!imap_code (idata->cmd.buf.data)) {
     char *pc;
 
-    pc = vskipspaces(idata->cmd.buf + SEQLEN);
+    pc = vskipspaces(idata->cmd.buf.data + SEQLEN);
     pc = imap_next_word (pc);
     mutt_error ("%s", pc);
     mutt_sleep (1);
@@ -704,8 +704,8 @@ int imap_copy_messages (CONTEXT * ctx, HEADER * h, char *dest, int delete)
   if (rc == -2) {
     /* bail out if command failed for reasons other than nonexistent target */
     if (ascii_strncasecmp
-        (imap_get_qualifier (idata->cmd.buf), "[TRYCREATE]", 11)) {
-      imap_error ("imap_copy_messages", idata->cmd.buf);
+        (imap_get_qualifier (idata->cmd.buf.data), "[TRYCREATE]", 11)) {
+      imap_error ("imap_copy_messages", idata->cmd.buf.data);
       goto fail;
     }
     snprintf (mmbox, sizeof (mmbox), _("Create %s?"), mbox);
@@ -720,7 +720,7 @@ int imap_copy_messages (CONTEXT * ctx, HEADER * h, char *dest, int delete)
     rc = imap_exec (idata, cmd.data, 0);
   }
   if (rc != 0) {
-    imap_error ("imap_copy_messages", idata->cmd.buf);
+    imap_error ("imap_copy_messages", idata->cmd.buf.data);
     goto fail;
   }
 
@@ -743,18 +743,14 @@ int imap_copy_messages (CONTEXT * ctx, HEADER * h, char *dest, int delete)
     }
   }
 
-  if (cmd.data)
-    p_delete(&cmd.data);
-  if (sync_cmd.data)
-    p_delete(&sync_cmd.data);
+  p_delete(&cmd.data);
+  p_delete(&sync_cmd.data);
   p_delete(&mx.mbox);
   return 0;
 
 fail:
-  if (cmd.data)
-    p_delete(&cmd.data);
-  if (sync_cmd.data)
-    p_delete(&sync_cmd.data);
+  p_delete(&cmd.data);
+  p_delete(&sync_cmd.data);
   p_delete(&mx.mbox);
   return -1;
 }
@@ -880,7 +876,7 @@ static int msg_fetch_header (CONTEXT * ctx, IMAP_HEADER * h, char *buf,
     if (imap_cmd_step (idata) != IMAP_CMD_CONTINUE)
       return rc;
 
-    if (msg_parse_fetch (h, idata->cmd.buf) == -1)
+    if (msg_parse_fetch (h, idata->cmd.buf.data) == -1)
       return rc;
   }