dovecot-2.0: lib-storage: Fixed parsing human search parameter d...
dovecot at dovecot.org
dovecot at dovecot.org
Tue Apr 20 17:09:33 EEST 2010
details: http://hg.dovecot.org/dovecot-2.0/rev/94ee28a11c47
changeset: 11178:94ee28a11c47
user: Timo Sirainen <tss at iki.fi>
date: Tue Apr 20 17:09:19 2010 +0300
description:
lib-storage: Fixed parsing human search parameter dates.
diffstat:
src/lib-storage/mail-search-register-human.c | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diffs (33 lines):
diff -r a92389387cb7 -r 94ee28a11c47 src/lib-storage/mail-search-register-human.c
--- a/src/lib-storage/mail-search-register-human.c Tue Apr 20 16:25:24 2010 +0300
+++ b/src/lib-storage/mail-search-register-human.c Tue Apr 20 17:09:19 2010 +0300
@@ -35,14 +35,13 @@
const char *value, *error;
struct tm tm;
unsigned int secs;
- int tz;
sarg = mail_search_build_new(ctx, type);
if (mail_search_parse_string(ctx->parser, &value) < 0)
return NULL;
/* a) yyyy-mm-dd
- b) imap date-time
+ b) imap date
c) interval (e.g. n days) */
if (i_isdigit(value[0]) && i_isdigit(value[1]) &&
i_isdigit(value[2]) && i_isdigit(value[3]) && value[4] == '-' &&
@@ -50,11 +49,11 @@
i_isdigit(value[8]) && i_isdigit(value[9]) && value[10] == '\0') {
memset(&tm, 0, sizeof(tm));
tm.tm_year = (value[0]-'0') * 1000 + (value[1]-'0') * 100 +
- (value[2]-'0') * 10 + (value[3]-'0');
+ (value[2]-'0') * 10 + (value[3]-'0') - 1900;
tm.tm_mon = (value[5]-'0') * 10 + (value[6]-'0') - 1;
tm.tm_mday = (value[8]-'0') * 10 + (value[9]-'0');
sarg->value.time = mktime(&tm);
- } else if (imap_parse_datetime(value, &sarg->value.time, &tz)) {
+ } else if (imap_parse_date(value, &sarg->value.time)) {
/* imap date */
} else if (settings_get_time(value, &secs, &error) == 0) {
sarg->value.time = ioloop_time - secs;
More information about the dovecot-cvs
mailing list