summaryrefslogtreecommitdiffstats
path: root/generic/tclGetDate.y
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2020-07-09 07:57:32 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2020-07-09 07:57:32 (GMT)
commit534c4c364f424a169d80009590e457723bfdc8f7 (patch)
tree9f5c1165f40469633037a272e64bb9da4a6f138d /generic/tclGetDate.y
parent4a592e0b0b766177dcf35fc8a46e179a8d4939f9 (diff)
downloadtcl-534c4c364f424a169d80009590e457723bfdc8f7.zip
tcl-534c4c364f424a169d80009590e457723bfdc8f7.tar.gz
tcl-534c4c364f424a169d80009590e457723bfdc8f7.tar.bz2
Proposed fix for [5019748c73]: FreeScan resp. Oldscan does not recognize positive time zone offset like "31 Jan 14 23:59:59 +0100"
Diffstat (limited to 'generic/tclGetDate.y')
-rw-r--r--generic/tclGetDate.y21
1 files changed, 4 insertions, 17 deletions
diff --git a/generic/tclGetDate.y b/generic/tclGetDate.y
index 578f179..86037d6 100644
--- a/generic/tclGetDate.y
+++ b/generic/tclGetDate.y
@@ -266,29 +266,12 @@ time : tUNUMBER tMERIDIAN {
yySeconds = 0;
yyMeridian = $4;
}
- | tUNUMBER ':' tUNUMBER '-' tUNUMBER {
- yyHour = $1;
- yyMinutes = $3;
- yyMeridian = MER24;
- yyDSTmode = DSToff;
- yyTimezone = ($5 % 100 + ($5 / 100) * 60);
- ++yyHaveZone;
- }
| tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid {
yyHour = $1;
yyMinutes = $3;
yySeconds = $5;
yyMeridian = $6;
}
- | tUNUMBER ':' tUNUMBER ':' tUNUMBER '-' tUNUMBER {
- yyHour = $1;
- yyMinutes = $3;
- yySeconds = $5;
- yyMeridian = MER24;
- yyDSTmode = DSToff;
- yyTimezone = ($7 % 100 + ($7 / 100) * 60);
- ++yyHaveZone;
- }
;
zone : tZONE tDST {
@@ -305,6 +288,10 @@ zone : tZONE tDST {
yyTimezone = $1;
yyDSTmode = DSTon;
}
+ | sign tUNUMBER {
+ yyTimezone = -$1*($2 % 100 + ($2 / 100) * 60);
+ yyDSTmode = DSToff;
+ }
;
day : tDAY {