Parse month names regardless of case
authorChristian Dywan <christian@twotoasts.de>
Mon, 7 Mar 2011 16:18:40 +0000 (17:18 +0100)
committerChristian Dywan <christian@twotoasts.de>
Tue, 8 Mar 2011 15:01:36 +0000 (16:01 +0100)
A test case is added that verifies that this works.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=644048

libsoup/soup-date.c
tests/date.c

index 99ba2f0..2936655 100644 (file)
@@ -294,7 +294,7 @@ parse_month (SoupDate *date, const char **date_string)
        int i;
 
        for (i = 0; i < G_N_ELEMENTS (months); i++) {
-               if (!strncmp (*date_string, months[i], 3)) {
+               if (!g_ascii_strncasecmp (*date_string, months[i], 3)) {
                        date->month = i + 1;
                        *date_string += 3;
                        while (**date_string == ' ' || **date_string == '-')
index aef9c66..f35c41b 100644 (file)
@@ -69,6 +69,7 @@ static const char *ok_dates[] = {
        "Sat,  6 Nov 2004 08:09:07 GMT",
        "Sat, 06 Nov 2004 08:09:07",
        "06 Nov 2004 08:09:07 GMT",
+       "SAT, 06 NOV 2004 08:09:07 +1000",
 
        /* rfc850-date, and broken variants */
        "Saturday, 06-Nov-04 08:09:07 GMT",