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:
@ -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>
|
2003-10-24 Jeffrey Stedfast <fejj@ximian.com>
|
||||||
|
|
||||||
* camel-text-index.c (text_index_name_add_buffer): If a word is
|
* camel-text-index.c (text_index_name_add_buffer): If a word is
|
||||||
|
@ -3489,6 +3489,7 @@ camel_header_decode_date(const char *in, int *saveoffset)
|
|||||||
{
|
{
|
||||||
const char *inptr = in;
|
const char *inptr = in;
|
||||||
char *monthname;
|
char *monthname;
|
||||||
|
gboolean foundmonth;
|
||||||
int year, offset = 0;
|
int year, offset = 0;
|
||||||
struct tm tm;
|
struct tm tm;
|
||||||
int i;
|
int i;
|
||||||
@ -3526,16 +3527,30 @@ camel_header_decode_date(const char *in, int *saveoffset)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
tm.tm_mday = camel_header_decode_int(&inptr);
|
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);
|
monthname = decode_token(&inptr);
|
||||||
|
foundmonth = FALSE;
|
||||||
if (monthname) {
|
if (monthname) {
|
||||||
for (i=0;i<sizeof(tz_months)/sizeof(tz_months[0]);i++) {
|
for (i=0;i<sizeof(tz_months)/sizeof(tz_months[0]);i++) {
|
||||||
if (!strcasecmp(tz_months[i], monthname)) {
|
if (!strcasecmp(tz_months[i], monthname)) {
|
||||||
tm.tm_mon = i;
|
tm.tm_mon = i;
|
||||||
|
foundmonth = TRUE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
g_free(monthname);
|
g_free(monthname);
|
||||||
}
|
}
|
||||||
|
#ifndef CLEAN_DATE
|
||||||
|
if (!foundmonth) {
|
||||||
|
return parse_broken_date (in, saveoffset);
|
||||||
|
}
|
||||||
|
#endif /* ! CLEAN_DATE */
|
||||||
|
|
||||||
year = camel_header_decode_int(&inptr);
|
year = camel_header_decode_int(&inptr);
|
||||||
if (year < 69) {
|
if (year < 69) {
|
||||||
tm.tm_year = 100 + year;
|
tm.tm_year = 100 + year;
|
||||||
|
Reference in New Issue
Block a user