Re: [Evolution-hackers] Logic flaw in header_decode_lwsp()
- From: Jeffrey Stedfast <fejj novell com>
- To: Jules Colding <colding omesc com>
- Cc: evolution-patches gnome org, Evolution Hackers <evolution-hackers gnome org>
- Subject: Re: [Evolution-hackers] Logic flaw in header_decode_lwsp()
- Date: Fri, 02 Dec 2005 14:15:10 -0500
On Fri, 2005-12-02 at 15:19 +0100, Jules Colding wrote:
> Hi,
>
> The following while statement does not make sense:
>
> ############# snip ###########
> static void
> header_decode_lwsp(const char **in)
> {
> const char *inptr = *in;
> char c;
>
> d2(printf("is ws: '%s'\n", *in));
>
> while (camel_mime_is_lwsp(*inptr) || (*inptr =='(' && *inptr != '\0')) {
> .
> .
> .
>
> ############# snip ###########
>
> If *inptr is equal to '(' then it is per definition not equal to '\0'.
>
> OK, "does not makes sense" might to harsh, but it definitely does not
> seem to done this way on purpose.
indeed, and while I was fixing that logic problem I also removed the
'\0' check since it isn't needed in any way (if it is lwsp or '(' then
it can't be \0)
>
>
--
Jeffrey Stedfast
Evolution Hacker - Novell, Inc.
fejj ximian com - www.novell.com
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/ChangeLog,v
retrieving revision 1.2497
diff -u -r1.2497 ChangeLog
--- ChangeLog 2 Dec 2005 08:54:44 -0000 1.2497
+++ ChangeLog 2 Dec 2005 19:13:50 -0000
@@ -1,3 +1,11 @@
+2005-12-02 Jeffrey Stedfast <fejj novell com>
+
+ * camel-mime-utils.c (header_decode_lwsp): fixed loop bounds
+ checking - we don't need to check for != '\0' if we are checking
+ that it is specifically lwsp || '('.
+ (camel_header_unfold): Fixed to only check the subset of LWSP that
+ is allowable to make the code more clear.
+
2005-12-02 Shi Pu <shi pu sun com>
** See bug #321139
@@ -128,7 +136,7 @@
* camel-vtrash-folder.c: (vtrash_remove_folder):
check if mi->real exists, continue otherwise.
-
+
2005-10-11 Vivek Jain <jvivek novell com>
** See bug #318508
Index: camel-mime-utils.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/camel-mime-utils.c,v
retrieving revision 1.234
diff -u -r1.234 camel-mime-utils.c
--- camel-mime-utils.c 15 Sep 2005 17:35:45 -0000 1.234
+++ camel-mime-utils.c 2 Dec 2005 19:13:51 -0000
@@ -970,8 +970,8 @@
d2(printf("is ws: '%s'\n", *in));
- while (camel_mime_is_lwsp(*inptr) || (*inptr =='(' && *inptr != '\0')) {
- while (camel_mime_is_lwsp(*inptr) && inptr != '\0') {
+ while (camel_mime_is_lwsp(*inptr) || *inptr =='(') {
+ while (camel_mime_is_lwsp(*inptr)) {
d2(printf("(%c)", *inptr));
inptr++;
}
@@ -4479,10 +4479,10 @@
o = out;
while ((c = *inptr++)) {
if (c == '\n') {
- if (camel_mime_is_lwsp(*inptr)) {
+ if (*inptr == ' ' || *inptr == '\t') {
do {
inptr++;
- } while (camel_mime_is_lwsp(*inptr));
+ } while (*inptr == ' ' || *inptr == '\t');
*o++ = ' ';
} else {
*o++ = c;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]