Module Name: src
Committed By: ginsbach
Date: Fri Oct 30 21:36:25 UTC 2015
Modified Files:
src/lib/libc/time: strptime.c
Log Message:
Add 'J' (Juliett) as military time zone name meaning the local time zone.
To generate a diff of this commit:
cvs rdiff -u -r1.55 -r1.56 src/lib/libc/time/strptime.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libc/time/strptime.c
diff -u src/lib/libc/time/strptime.c:1.55 src/lib/libc/time/strptime.c:1.56
--- src/lib/libc/time/strptime.c:1.55 Fri Oct 30 18:20:16 2015
+++ src/lib/libc/time/strptime.c Fri Oct 30 21:36:25 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: strptime.c,v 1.55 2015/10/30 18:20:16 christos Exp $ */
+/* $NetBSD: strptime.c,v 1.56 2015/10/30 21:36:25 ginsbach Exp $ */
/*-
* Copyright (c) 1997, 1998, 2005, 2008 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
#include <sys/cdefs.h>
#if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: strptime.c,v 1.55 2015/10/30 18:20:16 christos Exp $");
+__RCSID("$NetBSD: strptime.c,v 1.56 2015/10/30 21:36:25 ginsbach Exp $");
#endif
#include "namespace.h"
@@ -492,9 +492,11 @@ literal:
* C[DS]T = Central : -5 | -6
* M[DS]T = Mountain: -6 | -7
* P[DS]T = Pacific : -7 | -8
- * Military
+ * Nautical/Military
* [A-IL-M] = -1 ... -9 (J not used)
* [N-Y] = +1 ... +12
+ * Note: J maybe used to denote non-nautical
+ * local time
*/
while (isspace(*bp))
bp++;
@@ -532,7 +534,7 @@ literal:
namedzone:
bp = zname;
- /* Military style */
+ /* Nautical / Military style */
if (delim(bp[1]) &&
((*bp >= 'A' && *bp <= 'I') ||
(*bp >= 'L' && *bp <= 'Y'))) {
@@ -553,6 +555,17 @@ namedzone:
bp++;
continue;
}
+ /* 'J' is local time */
+ if (delim(bp[1]) && *bp == 'J') {
+#ifdef TM_GMTOFF
+ tm->TM_GMTOFF = -timezone;
+#endif
+#ifdef TM_ZONE
+ tm->TM_ZONE = tzname[i];
+#endif
+ bp++;
+ continue;
+ }
/*
* From our 3 letter hard-coded table