better detection of broken date to give to broken_date_parser.

* camel-mime-utils.c: (camel_header_decode_date):
       better detection of broken date to give to broken_date_parser.

svn path=/trunk/; revision=23101
This commit is contained in:
Frédéric Crozat
2003-10-28 13:22:13 +00:00
parent 9d85d642b2
commit 196efb7acc
2 changed files with 20 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2003-10-27 Frederic Crozat <fcrozat@mandrakesoft.com>
* camel-mime-utils.c: (camel_header_decode_date):
better detection of broken date to give to broken_date_parser.
2003-10-24 Jeffrey Stedfast <fejj@ximian.com>
* camel-text-index.c (text_index_name_add_buffer): If a word is

View File

@ -3489,6 +3489,7 @@ camel_header_decode_date(const char *in, int *saveoffset)
{
const char *inptr = in;
char *monthname;
gboolean foundmonth;
int year, offset = 0;
struct tm tm;
int i;
@ -3526,16 +3527,30 @@ camel_header_decode_date(const char *in, int *saveoffset)
}
}
tm.tm_mday = camel_header_decode_int(&inptr);
#ifndef CLEAN_DATE
if (tm.tm_mday == 0) {
return parse_broken_date (in, saveoffset);
}
#endif /* ! CLEAN_DATE */
monthname = decode_token(&inptr);
foundmonth = FALSE;
if (monthname) {
for (i=0;i<sizeof(tz_months)/sizeof(tz_months[0]);i++) {
if (!strcasecmp(tz_months[i], monthname)) {
tm.tm_mon = i;
foundmonth = TRUE;
break;
}
}
g_free(monthname);
}
#ifndef CLEAN_DATE
if (!foundmonth) {
return parse_broken_date (in, saveoffset);
}
#endif /* ! CLEAN_DATE */
year = camel_header_decode_int(&inptr);
if (year < 69) {
tm.tm_year = 100 + year;