summaryrefslogtreecommitdiffstats
path: root/generic/tclDate.h
diff options
context:
space:
mode:
authorsebres <sebres@users.sourceforge.net>2017-01-10 22:52:44 (GMT)
committersebres <sebres@users.sourceforge.net>2017-01-10 22:52:44 (GMT)
commitca189ac27c97eb664b3093dee4fd774a933d7a67 (patch)
tree6d10bbc35cd4bd98400e1bfaa1d457cd05fa23d5 /generic/tclDate.h
parenta6394b9a2e95c16faeb04b4ad950f46b11458466 (diff)
downloadtcl-ca189ac27c97eb664b3093dee4fd774a933d7a67.zip
tcl-ca189ac27c97eb664b3093dee4fd774a933d7a67.tar.gz
tcl-ca189ac27c97eb664b3093dee4fd774a933d7a67.tar.bz2
another way to make greedy search more precise, some greedy matches are fixed (see test cases clock-6.22.11 - clock-6.22.20), additionally involving look ahead token of known type into pre-search process.
Diffstat (limited to 'generic/tclDate.h')
-rw-r--r--generic/tclDate.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/generic/tclDate.h b/generic/tclDate.h
index 519a3e5..c50753d 100644
--- a/generic/tclDate.h
+++ b/generic/tclDate.h
@@ -375,12 +375,14 @@ typedef struct ClockScanTokenMap {
typedef struct ClockScanToken {
ClockScanTokenMap *map;
- unsigned short int lookAhead;
- unsigned short int endDistance;
struct {
const char *start;
const char *end;
} tokWord;
+ unsigned short int endDistance;
+ unsigned short int lookAhMin;
+ unsigned short int lookAhMax;
+ unsigned short int lookAhTok;
} ClockScanToken;
@@ -435,6 +437,7 @@ typedef struct ClockFmtScnStorage {
int objRefCount; /* Reference count shared across threads */
ClockScanToken *scnTok;
unsigned int scnTokC;
+ unsigned int scnSpaceCount; /* Count of mandatory spaces used in format */
ClockFormatToken *fmtTok;
unsigned int fmtTokC;
#if CLOCK_FMT_SCN_STORAGE_GC_SIZE > 0