push_fail_stack (fs, str_idx, dests, nregs, regs, eps_via_nodes)
push_fail_stack (fs, str_idx, dest_node, nregs, regs, eps_via_nodes)
push_fail_stack (fs, str_idx, dests, nregs, regs, eps_via_nodes)     struct re_fail_stack_t *fs;     int str_idx, *dests, nregs;     regmatch_t *regs;     re_node_set *eps_via_nodes;{  reg_errcode_t err;  int num = fs->num++;  if (fs->num == fs->alloc)    {      struct re_fail_stack_ent_t *new_array;      new_array = realloc (fs->stack, (sizeof (struct re_fail_stack_ent_t)				       * fs->alloc * 2));      if (new_array == NULL)	return REG_ESPACE;      fs->alloc *= 2;      fs->stack = new_array;    }  fs->stack[num].idx = str_idx;  fs->stack[num].node = dests[1];  fs->stack[num].regs = re_malloc (regmatch_t, nregs);  if (fs->stack[num].regs == NULL)    return REG_ESPACE;  memcpy (fs->stack[num].regs, regs, sizeof (regmatch_t) * nregs);  err = re_node_set_init_copy (&fs->stack[num].eps_via_nodes, eps_via_nodes);  return err;}