aboutsummaryrefslogtreecommitdiffstats
path: root/support/regexec.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2022-03-25 14:00:55 +0300
committerArnold D. Robbins <arnold@skeeve.com>2022-03-25 14:00:55 +0300
commit6739849e21c5bfd849b0c4029c2950902e7656af (patch)
tree69422f7ef3e6c047886dbeac15cad753e6a89248 /support/regexec.c
parentc07a390e647b74a40f1726e6fe3580bc370f178b (diff)
downloadegawk-6739849e21c5bfd849b0c4029c2950902e7656af.tar.gz
egawk-6739849e21c5bfd849b0c4029c2950902e7656af.tar.bz2
egawk-6739849e21c5bfd849b0c4029c2950902e7656af.zip
Sync support files from GNULIB.
Diffstat (limited to 'support/regexec.c')
-rw-r--r--support/regexec.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/support/regexec.c b/support/regexec.c
index aea1e7da..521cb028 100644
--- a/support/regexec.c
+++ b/support/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);