[dovecot-cvs] dovecot/src/lib-index/mbox mbox-append.c,1.29,1.30 mbox-from.c,1.5,1.6 mbox-index.c,1.37,1.38

cras at procontrol.fi cras at procontrol.fi
Thu Oct 24 04:15:41 EEST 2002


Update of /home/cvs/dovecot/src/lib-index/mbox
In directory danu:/tmp/cvs-serv28234/lib-index/mbox

Modified Files:
	mbox-append.c mbox-from.c mbox-index.c 
Log Message:
Fixes to timezone handling which were handling quite badly. added
ioloop_timezone which gets updated with ioloop_time. Changed some GMT
references to UTC. Timezone offsets are in minutes now everywhere instead of
seconds. Fixes for unsigned time_t.



Index: mbox-append.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-index/mbox/mbox-append.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- mbox-append.c	13 Oct 2002 23:49:11 -0000	1.29
+++ mbox-append.c	24 Oct 2002 00:15:39 -0000	1.30
@@ -60,7 +60,7 @@
 
 	/* parse the From-line */
 	internal_date = mbox_from_parse_date((char *) data, size);
-	if (internal_date <= 0)
+	if (internal_date == (time_t)-1)
 		internal_date = ioloop_time;
 
 	i_buffer_skip(inbuf, pos+1);

Index: mbox-from.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-index/mbox/mbox-from.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- mbox-from.c	24 Sep 2002 16:17:39 -0000	1.5
+++ mbox-from.c	24 Oct 2002 00:15:39 -0000	1.6
@@ -26,7 +26,7 @@
 
 	/* From <sender> <date> <moreinfo> */
 	if (strncmp(msg, "From ", 5) != 0)
-		return 0;
+		return (time_t)-1;
 
 	msg_end = msg + size;
 
@@ -38,7 +38,7 @@
 	/* next 24 chars are the date in asctime() format,
 	   eg. "Thu Nov 29 22:33:52 2001" */
 	if (msg+24 > msg_end)
-		return 0;
+		return (time_t)-1;
 
 	memset(&tm, 0, sizeof(tm));
 
@@ -54,43 +54,43 @@
 	}
 
 	if (i == 12 || msg[3] != ' ')
-		return 0;
+		return (time_t)-1;
 	msg += 4;
 
 	/* day */
 	if (msg[0] == ' ') {
 		if (!i_isdigit(msg[1]) || msg[2] != ' ')
-			return 0;
+			return (time_t)-1;
 		tm.tm_mday = msg[1]-'0';
 	} else {
 		if (!i_isdigit(msg[0]) || !i_isdigit(msg[1]) || msg[2] != ' ')
-			return 0;
+			return (time_t)-1;
 		tm.tm_mday = (msg[0]-'0') * 10 + (msg[1]-'0');
 	}
 	msg += 3;
 
 	/* hour */
 	if (!i_isdigit(msg[0]) || !i_isdigit(msg[1]) || msg[2] != ':')
-		return 0;
+		return (time_t)-1;
 	tm.tm_hour = (msg[0]-'0') * 10 + (msg[1]-'0');
 	msg += 3;
 
 	/* minute */
 	if (!i_isdigit(msg[0]) || !i_isdigit(msg[1]) || msg[2] != ':')
-		return 0;
+		return (time_t)-1;
 	tm.tm_min = (msg[0]-'0') * 10 + (msg[1]-'0');
 	msg += 3;
 
 	/* second */
 	if (!i_isdigit(msg[0]) || !i_isdigit(msg[1]) || msg[2] != ' ')
-		return 0;
+		return (time_t)-1;
 	tm.tm_sec = (msg[0]-'0') * 10 + (msg[1]-'0');
 	msg += 3;
 
 	/* year */
 	if (!i_isdigit(msg[0]) || !i_isdigit(msg[1]) ||
 	    !i_isdigit(msg[2]) || !i_isdigit(msg[3]))
-		return 0;
+		return (time_t)-1;
 	tm.tm_year = (msg[0]-'0') * 1000 + (msg[1]-'0') * 100 +
 		(msg[2]-'0') * 10 + (msg[3]-'0') - 1900;
 

Index: mbox-index.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-index/mbox/mbox-index.c,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- mbox-index.c	21 Oct 2002 00:09:29 -0000	1.37
+++ mbox-index.c	24 Oct 2002 00:15:39 -0000	1.38
@@ -395,7 +395,7 @@
 				msg += startpos;
 				i -= startpos;
 				return mbox_from_parse_date((char *) msg,
-							    size) != 0;
+							    size) != (time_t)-1;
 			}
 		}
 	}




More information about the dovecot-cvs mailing list