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