summaryrefslogtreecommitdiff
path: root/libmailutils/datetime/scantime.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmailutils/datetime/scantime.c')
-rw-r--r--libmailutils/datetime/scantime.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/libmailutils/datetime/scantime.c b/libmailutils/datetime/scantime.c
index 0b118b765..8e19a803b 100644
--- a/libmailutils/datetime/scantime.c
+++ b/libmailutils/datetime/scantime.c
@@ -538,7 +538,31 @@ mu_scan_datetime (const char *input, const char *fmt,
}
}
break;
-
+
+ case 'Z':
+ /* Time-zone in abbreviated form */
+ {
+ char tzs[6];
+ p = mu_str_skip_class_comp (input, MU_CTYPE_SPACE);
+ n = p - input;
+ if (n > sizeof (tzs) - 1)
+ {
+ rc = MU_ERR_PARSE;
+ break;
+ }
+ memcpy (tzs, input, n);
+ tzs[n] = 0;
+ if (mu_timezone_offset (tzs, &n))
+ {
+ rc = MU_ERR_PARSE;
+ break;
+ }
+ if (tz)
+ tz->utc_offset = n;
+ input = p;
+ }
+ break;
+
case '%':
if (*input == '%')
input++;

Return to:

Send suggestions and report system problems to the System administrator.