diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2022-04-08 17:02:21 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2022-04-08 17:33:16 -0700 |
commit | 0b16e4e1f1b9e6de16aa613b1b363d76b1023766 (patch) | |
tree | 74fd7a86a1413b54f624f75254de63abf220fa90 /lib/regexec.c | |
parent | 68bc1446855c86b96d5bc22f819e63358ab250ac (diff) | |
download | emacs-0b16e4e1f1b9e6de16aa613b1b363d76b1023766.tar.gz |
Update from Gnulib by running admin/merge-gnulib
Diffstat (limited to 'lib/regexec.c')
-rw-r--r-- | lib/regexec.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/regexec.c b/lib/regexec.c index aea1e7da52c..521cb028415 100644 --- a/lib/regexec.c +++ b/lib/regexec.c @@ -1308,8 +1308,8 @@ push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node, re_node_set *eps_via_nodes) { reg_errcode_t err; - Idx num = fs->num++; - if (fs->num == fs->alloc) + Idx num = fs->num; + if (num == fs->alloc) { struct re_fail_stack_ent_t *new_array; new_array = re_realloc (fs->stack, struct re_fail_stack_ent_t, @@ -1324,6 +1324,7 @@ push_fail_stack (struct re_fail_stack_t *fs, Idx str_idx, Idx dest_node, fs->stack[num].regs = re_malloc (regmatch_t, 2 * nregs); if (fs->stack[num].regs == NULL) return REG_ESPACE; + fs->num = num + 1; memcpy (fs->stack[num].regs, regs, sizeof (regmatch_t) * nregs); memcpy (fs->stack[num].regs + nregs, prevregs, sizeof (regmatch_t) * nregs); err = re_node_set_init_copy (&fs->stack[num].eps_via_nodes, eps_via_nodes); |