X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=imap%2Fimap.c;h=fb4b3ac3a01d6fff8f0c1667e83e7ecf5a2ba521;hp=005c15fd33560493ff34da22810fae4f366b9ba6;hb=ac813896ca32d850febc2d95065ac4fa040f11f9;hpb=08fa240d29322ece4c7bceebfae6c6d3fb856f0e diff --git a/imap/imap.c b/imap/imap.c index 005c15f..fb4b3ac 100644 --- a/imap/imap.c +++ b/imap/imap.c @@ -19,6 +19,7 @@ #include #include #include +#include #include "mutt.h" #include "mx.h" @@ -28,12 +29,11 @@ #include "message.h" #include "imap_private.h" #if defined(USE_SSL) || defined(USE_GNUTLS) -# include +# include #endif #include "buffy.h" #include -#include "lib/debug.h" #include #include @@ -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; @@ -1487,7 +1487,7 @@ fail: /* trim dest to the length of the longest prefix it shares with src, * returning the length of the trimmed string */ static int longest_common_prefix (char *dest, const char* src, - int start, size_t dlen) { + int start, ssize_t dlen) { int pos = start; while (pos < dlen && dest[pos] && dest[pos] == src[pos]) @@ -1499,7 +1499,7 @@ static int longest_common_prefix (char *dest, const char* src, /* look for IMAP URLs to complete from defined mailboxes. Could be extended * to complete over open connections and account/folder hooks too. */ -static int imap_complete_hosts (char *dest, size_t len) { +static int imap_complete_hosts (char *dest, ssize_t len) { BUFFY* mailbox; CONNECTION* conn; int rc = -1; @@ -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);