rationalize list handling in mutt a bit.
[apps/madmutt.git] / imap / imap.c
index ec31f58..dbe6f76 100644 (file)
@@ -44,7 +44,7 @@
 
 /* imap forward declarations */
 static int imap_get_delim (IMAP_DATA * idata);
-static char *imap_get_flags (LIST ** hflags, char *s);
+static char *imap_get_flags (string_list_t ** hflags, char *s);
 static int imap_check_acl (IMAP_DATA * idata);
 static int imap_check_capabilities (IMAP_DATA * idata);
 static void imap_set_flag (IMAP_DATA * idata, int aclbit, int flag,
@@ -266,14 +266,14 @@ static int imap_get_delim (IMAP_DATA * idata)
    * than getting the delim wrong */
   idata->delim = '/';
 
-  imap_cmd_start (idata, "LIST \"\" \"\"");
+  imap_cmd_start (idata, "string_list_t \"\" \"\"");
 
   do {
     if ((rc = imap_cmd_step (idata)) != IMAP_CMD_CONTINUE)
       break;
 
     s = imap_next_word (idata->cmd.buf);
-    if (ascii_strncasecmp ("LIST", s, 4) == 0) {
+    if (ascii_strncasecmp ("string_list_t", s, 4) == 0) {
       s = imap_next_word (s);
       s = imap_next_word (s);
       if (s && s[0] == '\"' && s[1] && s[2] == '\"')
@@ -482,9 +482,9 @@ bail:
 
 /* imap_get_flags: Make a simple list out of a FLAGS response.
  *   return stream following FLAGS response */
-static char *imap_get_flags (LIST ** hflags, char *s)
+static char *imap_get_flags (string_list_t ** hflags, char *s)
 {
-  LIST *flags;
+  string_list_t *flags;
   char *flag_word;
   char ctmp;
 
@@ -500,7 +500,7 @@ static char *imap_get_flags (LIST ** hflags, char *s)
   }
 
   /* create list, update caller's flags handle */
-  flags = mutt_new_list ();
+  flags = string_item_new();
   *hflags = flags;
 
   while (*s && *s != ')') {
@@ -518,7 +518,7 @@ static char *imap_get_flags (LIST ** hflags, char *s)
   /* note bad flags response */
   if (*s != ')') {
     debug_print (1, ("Unterminated FLAGS response: %s\n", s));
-    mutt_free_list (hflags);
+    string_list_wipe(hflags);
 
     return NULL;
   }
@@ -601,7 +601,7 @@ int imap_open_mailbox (CONTEXT * ctx)
     else if (ascii_strncasecmp ("OK [PERMANENTFLAGS", pc, 18) == 0) {
       debug_print (2, ("Getting mailbox PERMANENTFLAGS\n"));
       /* safe to call on NULL */
-      mutt_free_list (&(idata->flags));
+      string_list_wipe(&(idata->flags));
       /* skip "OK [PERMANENT" so syntax is the same as FLAGS */
       pc += 13;
       if ((pc = imap_get_flags (&(idata->flags), pc)) == NULL)
@@ -654,7 +654,7 @@ int imap_open_mailbox (CONTEXT * ctx)
     if (!idata->flags)
       debug_print (3, ("No folder flags found\n"));
     else {
-      LIST *t = idata->flags;
+      string_list_t *t = idata->flags;
 
       debug_print (3, ("Mailbox flags:\n"));
 
@@ -1082,7 +1082,7 @@ void imap_close_mailbox (CONTEXT * ctx)
 
     idata->reopen &= IMAP_REOPEN_ALLOW;
     p_delete(&(idata->mailbox));
-    mutt_free_list (&idata->flags);
+    string_list_wipe(&idata->flags);
     idata->ctx = NULL;
   }
 
@@ -1361,7 +1361,7 @@ int imap_search (CONTEXT* ctx, const pattern_t* pat) {
 /* all this listing/browsing is a mess. I don't like that name is a pointer
  *   into idata->buf (used to be a pointer into the passed in buffer, just
  *   as bad), nor do I like the fact that the fetch is done here. This
- *   code can't possibly handle non-LIST untagged responses properly.
+ *   code can't possibly handle non-string_list_t untagged responses properly.
  *   FIXME. ?! */
 int imap_parse_list_response (IMAP_DATA * idata, char **name, int *noselect,
                               int *noinferiors, char *delim)
@@ -1379,7 +1379,7 @@ int imap_parse_list_response (IMAP_DATA * idata, char **name, int *noselect,
     return -1;
 
   s = imap_next_word (idata->cmd.buf);
-  if ((ascii_strncasecmp ("LIST", s, 4) == 0) ||
+  if ((ascii_strncasecmp ("string_list_t", s, 4) == 0) ||
       (ascii_strncasecmp ("LSUB", s, 4) == 0)) {
     *noselect = 0;
     *noinferiors = 0;
@@ -1582,7 +1582,7 @@ int imap_complete (char *dest, size_t dlen, char *path) {
 
   /* fire off command */
   snprintf (buf, sizeof (buf), "%s \"\" \"%s%%\"",
-            option (OPTIMAPLSUB) ? "LSUB" : "LIST", list);
+            option (OPTIMAPLSUB) ? "LSUB" : "string_list_t", list);
 
   imap_cmd_start (idata, buf);