From: Oswald B. <os...@us...> - 2004-01-27 20:59:58
|
CVS commit by ossi: cleanup around parse_fetch M +12 -17 imap.c 1.53 --- isync/src/imap.c #1.52:1.53 @@ -303,7 +303,7 @@ buffer_gets (buffer_t * b, char **s) static int -parse_fetch (imap_t * imap, list_t * list) +parse_fetch (imap_t *imap, char *cmd) { - list_t *tmp; + list_t *tmp, *list, *flags; unsigned int uid = 0; unsigned int mask = 0; @@ -311,6 +311,10 @@ parse_fetch (imap_t * imap, list_t * lis message_t *cur; - if (!is_list (list)) + list = parse_list (cmd, 0); + + if (!is_list (list)) { + free_list (list); return -1; + } for (tmp = list->child; tmp; tmp = tmp->next) @@ -327,4 +331,5 @@ parse_fetch (imap_t * imap, list_t * lis { /* already saw this message */ + free_list (list); return 0; } @@ -340,7 +345,5 @@ parse_fetch (imap_t * imap, list_t * lis if (is_list (tmp)) { - list_t *flags = tmp->child; - - for (; flags; flags = flags->next) + for (flags = tmp->child; flags; flags = flags->next) { if (is_atom (flags)) @@ -389,4 +392,5 @@ parse_fetch (imap_t * imap, list_t * lis cur->size = size; + free_list (list); return 0; } @@ -530,16 +534,7 @@ imap_exec (imap_t * imap, const char *fm else if (!strcmp ("FETCH", arg1)) { - list_t *list; - - list = parse_list (cmd, 0); - - if (parse_fetch (imap, list)) - { - free_list (list); + if (parse_fetch (imap, cmd)) return -1; } - - free_list (list); - } } else |