diff options
author | sebres <sebres@users.sourceforge.net> | 2017-01-10 22:52:44 (GMT) |
---|---|---|
committer | sebres <sebres@users.sourceforge.net> | 2017-01-10 22:52:44 (GMT) |
commit | ca189ac27c97eb664b3093dee4fd774a933d7a67 (patch) | |
tree | 6d10bbc35cd4bd98400e1bfaa1d457cd05fa23d5 /generic/tclDate.h | |
parent | a6394b9a2e95c16faeb04b4ad950f46b11458466 (diff) | |
download | tcl-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.h | 7 |
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 |