Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-7]: src/lib/libutil Pull up following revision(s) (requested by a...



details:   https://anonhg.NetBSD.org/src/rev/463473740f83
branches:  netbsd-7
changeset: 798416:463473740f83
user:      snj <snj%NetBSD.org@localhost>
date:      Sat Oct 11 16:51:23 2014 +0000

description:
Pull up following revision(s) (requested by apb in ticket #135):
        lib/libutil/parsedate.y: revision 1.19
Previously, input of the form "HH:MM:SS +ZZZZ" would not have set the
yyhaveZone flag.

diffstat:

 lib/libutil/parsedate.y |  36 +++++++++++++++++++++---------------
 1 files changed, 21 insertions(+), 15 deletions(-)

diffs (73 lines):

diff -r 86222fc38416 -r 463473740f83 lib/libutil/parsedate.y
--- a/lib/libutil/parsedate.y   Sat Oct 11 16:47:48 2014 +0000
+++ b/lib/libutil/parsedate.y   Sat Oct 11 16:51:23 2014 +0000
@@ -14,7 +14,7 @@
 
 #include <sys/cdefs.h>
 #ifdef __RCSID
-__RCSID("$NetBSD: parsedate.y,v 1.16.6.2 2014/10/11 16:47:48 snj Exp $");
+__RCSID("$NetBSD: parsedate.y,v 1.16.6.3 2014/10/11 16:51:23 snj Exp $");
 #endif
 
 #include <stdio.h>
@@ -118,6 +118,10 @@
 item   : time {
            param->yyHaveTime++;
        }
+       | time_numericzone {
+           param->yyHaveTime++;
+           param->yyHaveZone++;
+       }
        | zone {
            param->yyHaveZone++;
        }
@@ -197,19 +201,28 @@
            param->yySeconds = 0;
            param->yyMeridian = $4;
        }
-       | tUNUMBER ':' tUNUMBER tSNUMBER {
+       | tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid {
+           param->yyHour = $1;
+           param->yyMinutes = $3;
+           param->yySeconds = $5;
+           param->yyMeridian = $6;
+       }
+       | tUNUMBER ':' tUNUMBER ':' tUNUMBER '.' tUNUMBER {
+           param->yyHour = $1;
+           param->yyMinutes = $3;
+           param->yySeconds = $5;
+           param->yyMeridian = MER24;
+/* XXX: Do nothing with millis */
+       }
+       ;
+
+time_numericzone : tUNUMBER ':' tUNUMBER tSNUMBER {
            param->yyHour = $1;
            param->yyMinutes = $3;
            param->yyMeridian = MER24;
            param->yyDSTmode = DSToff;
            param->yyTimezone = - ($4 % 100 + ($4 / 100) * 60);
        }
-       | tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid {
-           param->yyHour = $1;
-           param->yyMinutes = $3;
-           param->yySeconds = $5;
-           param->yyMeridian = $6;
-       }
        | tUNUMBER ':' tUNUMBER ':' tUNUMBER tSNUMBER {
            param->yyHour = $1;
            param->yyMinutes = $3;
@@ -218,13 +231,6 @@
            param->yyDSTmode = DSToff;
            param->yyTimezone = - ($6 % 100 + ($6 / 100) * 60);
        }
-       | tUNUMBER ':' tUNUMBER ':' tUNUMBER '.' tUNUMBER {
-           param->yyHour = $1;
-           param->yyMinutes = $3;
-           param->yySeconds = $5;
-           param->yyMeridian = MER24;
-/* XXX: Do nothing with millis */
-       }
        ;
 
 zone   : tZONE {



Home | Main Index | Thread Index | Old Index