1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-12 21:01:52 +03:00

Sync regex code with Tcl 8.5.11.

Sync our regex code with upstream changes since last time we did this,
which was Tcl 8.5.0 (see commit df1e965e12).

There are no functional changes here; the main point is just to lay down
a commit-log marker that somebody has looked at this recently, and to do
what we can to keep the two codebases comparable.
This commit is contained in:
Tom Lane
2012-02-17 19:44:26 -05:00
parent 06d9afa6f9
commit 08fd6ff37f
3 changed files with 20 additions and 35 deletions

View File

@ -272,36 +272,35 @@ static struct dfa *
newdfa(struct vars * v,
struct cnfa * cnfa,
struct colormap * cm,
struct smalldfa * small) /* preallocated space, may be NULL */
struct smalldfa * sml) /* preallocated space, may be NULL */
{
struct dfa *d;
size_t nss = cnfa->nstates * 2;
int wordsper = (cnfa->nstates + UBITS - 1) / UBITS;
struct smalldfa *smallwas = small;
struct smalldfa *smallwas = sml;
assert(cnfa != NULL && cnfa->nstates != 0);
if (nss <= FEWSTATES && cnfa->ncolors <= FEWCOLORS)
{
assert(wordsper == 1);
if (small == NULL)
if (sml == NULL)
{
small = (struct smalldfa *) MALLOC(
sizeof(struct smalldfa));
if (small == NULL)
sml = (struct smalldfa *) MALLOC(sizeof(struct smalldfa));
if (sml == NULL)
{
ERR(REG_ESPACE);
return NULL;
}
}
d = &small->dfa;
d->ssets = small->ssets;
d->statesarea = small->statesarea;
d = &sml->dfa;
d->ssets = sml->ssets;
d->statesarea = sml->statesarea;
d->work = &d->statesarea[nss];
d->outsarea = small->outsarea;
d->incarea = small->incarea;
d->outsarea = sml->outsarea;
d->incarea = sml->incarea;
d->cptsmalloced = 0;
d->mallocarea = (smallwas == NULL) ? (char *) small : NULL;
d->mallocarea = (smallwas == NULL) ? (char *) sml : NULL;
}
else
{