Diff
Not logged in

Differences From Artifact [ccb10aea25]:

To Artifact [3168248c29]:


2696
2697
2698
2699
2700
2701
2702
2703

2704
2705
2706
2707
2708
2709
2710
2696
2697
2698
2699
2700
2701
2702

2703
2704
2705
2706
2707
2708
2709
2710







-
+







	    if (c != '\0' && !isalpha(UCHAR(c))) {
		return SP;
	    }
	}
	tokStart = yyInput;

	if (isdigit(UCHAR(c = *yyInput))) { /* INTL: digit */
	    

	    /*
	     * Convert the string into a number; count the number of digits.
	     */
	    int num = c - '0';
	    p = (char *)yyInput;
	    while (isdigit(UCHAR(c = *(++p)))) {
		if (num >= 0) {
2758
2759
2760
2761
2762
2763
2764
2765

2766
2767
2768
2769
2770

2771
2772
2773
2774
2775
2776
2777
2758
2759
2760
2761
2762
2763
2764

2765
2766
2767
2768
2769

2770
2771
2772
2773
2774
2775
2776
2777







-
+




-
+







		    *p++ = c;
		}
	    }
	    *p = '\0';
	    yyInput--;
	    location->last_column = yyInput - info->dateStart - 1;
	    ret = LookupWord(yylvalPtr, buff);
	    /* 
	    /*
	     * lookahead:
	     *	for spaces to consider word boundaries (for instance
	     *	literal T in isodateTisotimeZ is not a TZ, but Z is UTC);
	     *	for +/- digit, to differentiate between "GMT+1000 day" and "GMT +1000 day";
	     * bypass spaces after token (but ignore by TZ+OFFS), because should 
	     * bypass spaces after token (but ignore by TZ+OFFS), because should
	     * recognize next SP token, if TZ only.
	     */
	    if (ret == tZONE || ret == tDAYZONE) {
		c = *yyInput;
		if (isdigit(UCHAR(c))) { /* literal not a TZ  */
		    yyInput = tokStart;
		    return *yyInput++;