Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Make "struct regmatch_t" match "Tcl_RegExpIndices" (again). Win64 build was broken because of this. Other platforms were OK. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
c38fd94d09e87668cf9919f5d8ab7258 |
User & Date: | jan.nijtmans 2019-03-13 20:43:05.289 |
Context
2019-03-13
| ||
20:44 | Eliminate many (mostly harmless) MSVC warning messages. Tcl 9 compiles warning-free now on MSVC. check-in: cf865c6e2b user: jan.nijtmans tags: trunk | |
20:43 | Make "struct regmatch_t" match "Tcl_RegExpIndices" (again). Win64 build was broken because of this. ... check-in: c38fd94d09 user: jan.nijtmans tags: trunk | |
2019-03-11
| ||
20:56 | Merge 8.7 check-in: 13fd8a4647 user: jan.nijtmans tags: trunk | |
Changes
Changes to generic/regex.h.
︙ | ︙ | |||
138 139 140 141 142 143 144 | /* the rest is opaque pointers to hidden innards */ char *re_guts; /* `char *' is more portable than `void *' */ char *re_fns; } regex_t; /* result reporting (may acquire more fields later) */ typedef struct { | | | | 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | /* the rest is opaque pointers to hidden innards */ char *re_guts; /* `char *' is more portable than `void *' */ char *re_fns; } regex_t; /* result reporting (may acquire more fields later) */ typedef struct { long rm_so; /* start of substring */ long rm_eo; /* end of substring */ } regmatch_t; /* supplementary control and reporting */ typedef struct { regmatch_t rm_extend; /* see REG_EXPECT */ } rm_detail_t; |
︙ | ︙ |
Changes to generic/regexec.c.
︙ | ︙ | |||
885 886 887 888 889 890 891 | assert(t->op == 'b'); assert(n >= 0); assert((size_t)n < v->nmatch); MDEBUG(("cbackref n%d %d{%d-%d}\n", t->id, n, min, max)); /* get the backreferenced string */ | | | 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 | assert(t->op == 'b'); assert(n >= 0); assert((size_t)n < v->nmatch); MDEBUG(("cbackref n%d %d{%d-%d}\n", t->id, n, min, max)); /* get the backreferenced string */ if (v->pmatch[n].rm_so == -1) { return REG_NOMATCH; } brstring = v->start + v->pmatch[n].rm_so; brlen = v->pmatch[n].rm_eo - v->pmatch[n].rm_so; /* special cases for zero-length strings */ if (brlen == 0) { |
︙ | ︙ |
Changes to generic/tclRegexp.c.
︙ | ︙ | |||
260 261 262 263 264 265 266 | * in (sub-)range here. */ { TclRegexp *regexpPtr = (TclRegexp *) re; const char *string; if (index > regexpPtr->re.re_nsub) { *startPtr = *endPtr = NULL; | | | 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | * in (sub-)range here. */ { TclRegexp *regexpPtr = (TclRegexp *) re; const char *string; if (index > regexpPtr->re.re_nsub) { *startPtr = *endPtr = NULL; } else if (regexpPtr->matches[index].rm_so == -1) { *startPtr = *endPtr = NULL; } else { if (regexpPtr->objPtr) { string = TclGetString(regexpPtr->objPtr); } else { string = regexpPtr->string; } |
︙ | ︙ |