From aae6dd93d5c32292b78b9ea59f7ba3d66e0b65e3 Mon Sep 17 00:00:00 2001 From: Not Zed Date: Mon, 24 May 2004 08:02:10 +0000 Subject: fix/rearrange logic. It was using the wrong working pointer. 2004-05-24 Not Zed * camel-mime-utils.c (camel_header_newsgroups_decode): fix/rearrange logic. It was using the wrong working pointer. svn path=/trunk/; revision=26059 --- camel/ChangeLog | 5 +++++ camel/camel-mime-utils.c | 16 +++++++--------- 2 files changed, 12 insertions(+), 9 deletions(-) (limited to 'camel') diff --git a/camel/ChangeLog b/camel/ChangeLog index 421c841453..3e543d06e9 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,8 @@ +2004-05-24 Not Zed + + * camel-mime-utils.c (camel_header_newsgroups_decode): + fix/rearrange logic. It was using the wrong working pointer. + 2004-05-24 Sivaiah Nallagatla * camel-provider.h : added CAMEL_PROVIDER_CONF_HIDDEN to diff --git a/camel/camel-mime-utils.c b/camel/camel-mime-utils.c index 43d680012e..35766e0b48 100644 --- a/camel/camel-mime-utils.c +++ b/camel/camel-mime-utils.c @@ -2855,26 +2855,24 @@ camel_header_newsgroups_decode(const char *in) const char *inptr = in; register char c; struct _camel_header_newsgroup *head, *last, *ng; + const char *start; head = NULL; last = (struct _camel_header_newsgroup *)&head; - c = *in; - while (c) { - const char *start; - + do { header_decode_lwsp(&inptr); - start = in; - while ((c = *in++) && !camel_mime_is_lwsp(c) && c != ',') + start = inptr; + while ((c = *inptr++) && !camel_mime_is_lwsp(c) && c != ',') ; - if (start != in) { + if (start != inptr-1) { ng = g_malloc(sizeof(*ng)); - ng->newsgroup = g_strndup(start, in-start); + ng->newsgroup = g_strndup(start, inptr-start-1); ng->next = NULL; last->next = ng; last = ng; } - } + } while (c); return head; } -- cgit