-/* Generated by re2c 0.9.11.rc1 on Fri Dec 16 17:30:27 2005 */
+/* Generated by re2c 0.9.11.rc1 on Sun Dec 18 10:54:51 2005 */
#line 1 "ext/date/lib/parse_date.re"
/*
+----------------------------------------------------------------------+
timelib_tz_lookup_table *tp, *first_found_elem;
timelib_tz_lookup_table *fmp;
+ if (gmtoffset != -1 && !strcmp(word, "UTC")) {
+ goto skip_name_match;
+ }
for (tp = timelib_timezone_lookup; tp->name; tp++) {
if (strcasecmp(word, tp->name) == 0) {
if (!first_found) {
if (first_found) {
return first_found_elem;
}
+skip_name_match:
/* Still didn't find anything, let's find the zone solely based on
* offset/isdst then */
for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
std:
s->tok = cursor;
s->len = 0;
-#line 828 "ext/date/lib/parse_date.re"
+#line 832 "ext/date/lib/parse_date.re"
{
0, 0, 0, 0, 0, 0, 0, 0,
};
-#line 762 "ext/date/lib/parse_date.c"
+#line 766 "ext/date/lib/parse_date.c"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
yy3:
YYDEBUG(3, *YYCURSOR);
-#line 1323 "ext/date/lib/parse_date.re"
+#line 1327 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("tzcorrection | tz");
TIMELIB_DEINIT;
return TIMELIB_TIMEZONE;
}
-#line 857 "ext/date/lib/parse_date.c"
+#line 861 "ext/date/lib/parse_date.c"
yy4:
YYDEBUG(4, *YYCURSOR);
yych = *++YYCURSOR;
yy8:
YYDEBUG(8, *YYCURSOR);
-#line 1389 "ext/date/lib/parse_date.re"
+#line 1393 "ext/date/lib/parse_date.re"
{
/* printf("unexpected character: #%d, %c ", *s->tok, *s->tok); */
s->errors++;
goto std;
}
-#line 971 "ext/date/lib/parse_date.c"
+#line 975 "ext/date/lib/parse_date.c"
yy9:
YYDEBUG(9, *YYCURSOR);
yyaccept = 0;
yy45:
YYDEBUG(45, *YYCURSOR);
-#line 1378 "ext/date/lib/parse_date.re"
+#line 1382 "ext/date/lib/parse_date.re"
{
goto std;
}
-#line 1935 "ext/date/lib/parse_date.c"
+#line 1939 "ext/date/lib/parse_date.c"
yy46:
YYDEBUG(46, *YYCURSOR);
yych = *++YYCURSOR;
yy48:
YYDEBUG(48, *YYCURSOR);
-#line 1383 "ext/date/lib/parse_date.re"
+#line 1387 "ext/date/lib/parse_date.re"
{
s->pos = cursor; s->line++;
goto std;
}
-#line 1946 "ext/date/lib/parse_date.c"
+#line 1950 "ext/date/lib/parse_date.c"
yy49:
YYDEBUG(49, *YYCURSOR);
yych = *++YYCURSOR;
yy68:
YYDEBUG(68, *YYCURSOR);
-#line 1362 "ext/date/lib/parse_date.re"
+#line 1366 "ext/date/lib/parse_date.re"
{
timelib_ull i;
DEBUG_OUTPUT("relative");
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 2127 "ext/date/lib/parse_date.c"
+#line 2131 "ext/date/lib/parse_date.c"
yy69:
YYDEBUG(69, *YYCURSOR);
yych = *++YYCURSOR;
yy173:
YYDEBUG(173, *YYCURSOR);
-#line 1306 "ext/date/lib/parse_date.re"
+#line 1310 "ext/date/lib/parse_date.re"
{
timelib_sll i;
int behavior;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 2904 "ext/date/lib/parse_date.c"
+#line 2908 "ext/date/lib/parse_date.c"
yy174:
YYDEBUG(174, *YYCURSOR);
yych = *++YYCURSOR;
yy342:
YYDEBUG(342, *YYCURSOR);
-#line 1290 "ext/date/lib/parse_date.re"
+#line 1294 "ext/date/lib/parse_date.re"
{
const timelib_relunit* relunit;
DEBUG_OUTPUT("daytext");
TIMELIB_DEINIT;
return TIMELIB_WEEKDAY;
}
-#line 4341 "ext/date/lib/parse_date.c"
+#line 4345 "ext/date/lib/parse_date.c"
yy343:
YYDEBUG(343, *YYCURSOR);
yyaccept = 1;
yy406:
YYDEBUG(406, *YYCURSOR);
-#line 1109 "ext/date/lib/parse_date.re"
+#line 1113 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("datetextual | datenoyear");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_DATE_TEXT;
}
-#line 5225 "ext/date/lib/parse_date.c"
+#line 5229 "ext/date/lib/parse_date.c"
yy407:
YYDEBUG(407, *YYCURSOR);
yyaccept = 6;
yy432:
YYDEBUG(432, *YYCURSOR);
-#line 1334 "ext/date/lib/parse_date.re"
+#line 1338 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
TIMELIB_DEINIT;
return TIMELIB_SHORTDATE_WITH_TIME;
}
-#line 5457 "ext/date/lib/parse_date.c"
+#line 5461 "ext/date/lib/parse_date.c"
yy433:
YYDEBUG(433, *YYCURSOR);
yyaccept = 7;
yy469:
YYDEBUG(469, *YYCURSOR);
-#line 1083 "ext/date/lib/parse_date.re"
+#line 1087 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("datenoday");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-#line 5754 "ext/date/lib/parse_date.c"
+#line 5758 "ext/date/lib/parse_date.c"
yy470:
YYDEBUG(470, *YYCURSOR);
yyaccept = 6;
yy495:
YYDEBUG(495, *YYCURSOR);
-#line 1221 "ext/date/lib/parse_date.re"
+#line 1225 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("pgtextshort");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 6174 "ext/date/lib/parse_date.c"
+#line 6178 "ext/date/lib/parse_date.c"
yy496:
YYDEBUG(496, *YYCURSOR);
yych = *++YYCURSOR;
yy597:
YYDEBUG(597, *YYCURSOR);
-#line 1275 "ext/date/lib/parse_date.re"
+#line 1279 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("ago");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_AGO;
}
-#line 7836 "ext/date/lib/parse_date.c"
+#line 7840 "ext/date/lib/parse_date.c"
yy598:
YYDEBUG(598, *YYCURSOR);
yyaccept = 1;
yy706:
YYDEBUG(706, *YYCURSOR);
-#line 1122 "ext/date/lib/parse_date.re"
+#line 1126 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("datenoyearrev");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_DATE_TEXT;
}
-#line 9944 "ext/date/lib/parse_date.c"
+#line 9948 "ext/date/lib/parse_date.c"
yy707:
YYDEBUG(707, *YYCURSOR);
yyaccept = 10;
yy716:
YYDEBUG(716, *YYCURSOR);
-#line 912 "ext/date/lib/parse_date.re"
+#line 916 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_TIME12;
}
-#line 10044 "ext/date/lib/parse_date.c"
+#line 10048 "ext/date/lib/parse_date.c"
yy717:
YYDEBUG(717, *YYCURSOR);
yych = *++YYCURSOR;
yy719:
YYDEBUG(719, *YYCURSOR);
-#line 929 "ext/date/lib/parse_date.re"
+#line 933 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
TIMELIB_DEINIT;
return TIMELIB_TIME24_WITH_ZONE;
}
-#line 10081 "ext/date/lib/parse_date.c"
+#line 10085 "ext/date/lib/parse_date.c"
yy720:
YYDEBUG(720, *YYCURSOR);
yyaccept = 11;
yy745:
YYDEBUG(745, *YYCURSOR);
-#line 1056 "ext/date/lib/parse_date.re"
+#line 1060 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("datefull");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL;
}
-#line 10285 "ext/date/lib/parse_date.c"
+#line 10289 "ext/date/lib/parse_date.c"
yy746:
YYDEBUG(746, *YYCURSOR);
yych = *++YYCURSOR;
yy815:
YYDEBUG(815, *YYCURSOR);
-#line 1070 "ext/date/lib/parse_date.re"
+#line 1074 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("pointed date");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL_POINTED;
}
-#line 10798 "ext/date/lib/parse_date.c"
+#line 10802 "ext/date/lib/parse_date.c"
yy816:
YYDEBUG(816, *YYCURSOR);
yych = *++YYCURSOR;
yy861:
YYDEBUG(861, *YYCURSOR);
-#line 1043 "ext/date/lib/parse_date.re"
+#line 1047 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("gnudateshort");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 11307 "ext/date/lib/parse_date.c"
+#line 11311 "ext/date/lib/parse_date.c"
yy862:
YYDEBUG(862, *YYCURSOR);
yyaccept = 12;
yy870:
YYDEBUG(870, *YYCURSOR);
-#line 1016 "ext/date/lib/parse_date.re"
+#line 1020 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("americanshort | american");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_AMERICAN;
}
-#line 11414 "ext/date/lib/parse_date.c"
+#line 11418 "ext/date/lib/parse_date.c"
yy871:
YYDEBUG(871, *YYCURSOR);
yyaccept = 13;
yy903:
YYDEBUG(903, *YYCURSOR);
-#line 1247 "ext/date/lib/parse_date.re"
+#line 1251 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("clf");
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 11628 "ext/date/lib/parse_date.c"
+#line 11632 "ext/date/lib/parse_date.c"
yy904:
YYDEBUG(904, *YYCURSOR);
yyaccept = 14;
yy956:
YYDEBUG(956, *YYCURSOR);
-#line 1234 "ext/date/lib/parse_date.re"
+#line 1238 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("pgtextreverse");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 11932 "ext/date/lib/parse_date.c"
+#line 11936 "ext/date/lib/parse_date.c"
yy957:
YYDEBUG(957, *YYCURSOR);
yych = *++YYCURSOR;
yy968:
YYDEBUG(968, *YYCURSOR);
-#line 1266 "ext/date/lib/parse_date.re"
+#line 1270 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("year4");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 12048 "ext/date/lib/parse_date.c"
+#line 12052 "ext/date/lib/parse_date.c"
yy969:
YYDEBUG(969, *YYCURSOR);
yych = *++YYCURSOR;
yy977:
YYDEBUG(977, *YYCURSOR);
-#line 1096 "ext/date/lib/parse_date.re"
+#line 1100 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("datenodayrev");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-#line 12175 "ext/date/lib/parse_date.c"
+#line 12179 "ext/date/lib/parse_date.c"
yy978:
YYDEBUG(978, *YYCURSOR);
yych = *++YYCURSOR;
yy997:
YYDEBUG(997, *YYCURSOR);
-#line 1202 "ext/date/lib/parse_date.re"
+#line 1206 "ext/date/lib/parse_date.re"
{
timelib_sll w, d;
DEBUG_OUTPUT("isoweek");
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 12362 "ext/date/lib/parse_date.c"
+#line 12366 "ext/date/lib/parse_date.c"
yy998:
YYDEBUG(998, *YYCURSOR);
++YYCURSOR;
yy999:
YYDEBUG(999, *YYCURSOR);
-#line 1183 "ext/date/lib/parse_date.re"
+#line 1187 "ext/date/lib/parse_date.re"
{
timelib_sll w, d;
DEBUG_OUTPUT("isoweekday");
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 12384 "ext/date/lib/parse_date.c"
+#line 12388 "ext/date/lib/parse_date.c"
yy1000:
YYDEBUG(1000, *YYCURSOR);
yych = *++YYCURSOR;
yy1003:
YYDEBUG(1003, *YYCURSOR);
-#line 1170 "ext/date/lib/parse_date.re"
+#line 1174 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("pgydotd");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_PG_YEARDAY;
}
-#line 12457 "ext/date/lib/parse_date.c"
+#line 12461 "ext/date/lib/parse_date.c"
yy1004:
YYDEBUG(1004, *YYCURSOR);
yych = *++YYCURSOR;
yy1010:
YYDEBUG(1010, *YYCURSOR);
-#line 1134 "ext/date/lib/parse_date.re"
+#line 1138 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("datenocolon");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_DATE_NOCOLON;
}
-#line 12556 "ext/date/lib/parse_date.c"
+#line 12560 "ext/date/lib/parse_date.c"
yy1011:
YYDEBUG(1011, *YYCURSOR);
yych = *++YYCURSOR;
yy1021:
YYDEBUG(1021, *YYCURSOR);
-#line 1146 "ext/date/lib/parse_date.re"
+#line 1150 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx");
TIMELIB_DEINIT;
return TIMELIB_XMLRPC_SOAP;
}
-#line 12655 "ext/date/lib/parse_date.c"
+#line 12659 "ext/date/lib/parse_date.c"
yy1022:
YYDEBUG(1022, *YYCURSOR);
yych = *++YYCURSOR;
yy1112:
YYDEBUG(1112, *YYCURSOR);
-#line 1031 "ext/date/lib/parse_date.re"
+#line 1035 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("iso8601date | iso8601dateslash | dateslash");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 13108 "ext/date/lib/parse_date.c"
+#line 13112 "ext/date/lib/parse_date.c"
yy1113:
YYDEBUG(1113, *YYCURSOR);
yyaccept = 19;
yy1205:
YYDEBUG(1205, *YYCURSOR);
-#line 953 "ext/date/lib/parse_date.re"
+#line 957 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("gnunocolon");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_GNU_NOCOLON;
}
-#line 14034 "ext/date/lib/parse_date.c"
+#line 14038 "ext/date/lib/parse_date.c"
yy1206:
YYDEBUG(1206, *YYCURSOR);
yych = *++YYCURSOR;
yy1213:
YYDEBUG(1213, *YYCURSOR);
-#line 998 "ext/date/lib/parse_date.re"
+#line 1002 "ext/date/lib/parse_date.re"
{
int tz_not_found;
DEBUG_OUTPUT("iso8601nocolon");
TIMELIB_DEINIT;
return TIMELIB_ISO_NOCOLON;
}
-#line 14132 "ext/date/lib/parse_date.c"
+#line 14136 "ext/date/lib/parse_date.c"
yy1214:
YYDEBUG(1214, *YYCURSOR);
yyaccept = 22;
yy1238:
YYDEBUG(1238, *YYCURSOR);
-#line 888 "ext/date/lib/parse_date.re"
+#line 892 "ext/date/lib/parse_date.re"
{
timelib_ull i;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 14454 "ext/date/lib/parse_date.c"
+#line 14458 "ext/date/lib/parse_date.c"
yy1239:
YYDEBUG(1239, *YYCURSOR);
yych = *++YYCURSOR;
yy1247:
YYDEBUG(1247, *YYCURSOR);
-#line 876 "ext/date/lib/parse_date.re"
+#line 880 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("tomorrow");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 14529 "ext/date/lib/parse_date.c"
+#line 14533 "ext/date/lib/parse_date.c"
yy1248:
YYDEBUG(1248, *YYCURSOR);
yych = *++YYCURSOR;
yy1250:
YYDEBUG(1250, *YYCURSOR);
-#line 866 "ext/date/lib/parse_date.re"
+#line 870 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("midnight | today");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 14546 "ext/date/lib/parse_date.c"
+#line 14550 "ext/date/lib/parse_date.c"
yy1251:
YYDEBUG(1251, *YYCURSOR);
yych = *++YYCURSOR;
yy1259:
YYDEBUG(1259, *YYCURSOR);
-#line 845 "ext/date/lib/parse_date.re"
+#line 849 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("now");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 14631 "ext/date/lib/parse_date.c"
+#line 14635 "ext/date/lib/parse_date.c"
yy1260:
YYDEBUG(1260, *YYCURSOR);
yych = *++YYCURSOR;
yy1262:
YYDEBUG(1262, *YYCURSOR);
-#line 854 "ext/date/lib/parse_date.re"
+#line 858 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("noon");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 14662 "ext/date/lib/parse_date.c"
+#line 14666 "ext/date/lib/parse_date.c"
yy1263:
YYDEBUG(1263, *YYCURSOR);
yych = *++YYCURSOR;
yy1271:
YYDEBUG(1271, *YYCURSOR);
-#line 833 "ext/date/lib/parse_date.re"
+#line 837 "ext/date/lib/parse_date.re"
{
DEBUG_OUTPUT("yesterday");
TIMELIB_INIT;
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 14724 "ext/date/lib/parse_date.c"
+#line 14728 "ext/date/lib/parse_date.c"
}
}
-#line 1394 "ext/date/lib/parse_date.re"
+#line 1398 "ext/date/lib/parse_date.re"
}