# HG changeset patch # User Timo Sirainen # Date 1042488038 -7200 # Node ID 2c7a2d90e0cb72d6f276a2c9d346a09872264474 # Parent c1a97fc30d1cabc36dcacb64808d18ccea797229 Handle one-digit hour in dates. diff -r c1a97fc30d1c -r 2c7a2d90e0cb src/lib-mail/message-date.c --- a/src/lib-mail/message-date.c Mon Jan 13 22:00:23 2003 +0200 +++ b/src/lib-mail/message-date.c Mon Jan 13 22:00:38 2003 +0200 @@ -120,7 +120,7 @@ } /* dd */ - if (token != 'A' || len > 2 || !i_isdigit(value[0])) + if (token != 'A' || len < 1 || len > 2 || !i_isdigit(value[0])) return FALSE; tm.tm_mday = value[0]-'0'; @@ -165,12 +165,16 @@ tm.tm_year -= 1900; } - /* hh */ + /* hh, allow also single digit */ token = next_token(ctx, &value, &len); - if (token != 'A' || len != 2 || - !i_isdigit(value[0]) || !i_isdigit(value[1])) + if (token != 'A' || len < 1 || len > 2 || !i_isdigit(value[0])) return FALSE; - tm.tm_hour = (value[0]-'0') * 10 + (value[1]-'0'); + tm.tm_hour = value[0]-'0'; + if (len == 2) { + if (!i_isdigit(value[1])) + return FALSE; + tm.tm_hour = tm.tm_hour * 10 + (value[1]-'0'); + } /* :mm */ token = next_token(ctx, &value, &len);