mctx->bkref_ents[mctx->nbkref_ents].from = from; mctx->bkref_ents[mctx->nbkref_ents++].to = to; if (mctx->max_bkref_len < to - from) mctx->max_bkref_len = to - from;
mctx->bkref_ents[mctx->nbkref_ents].str_idx = str_idx; mctx->bkref_ents[mctx->nbkref_ents].subexp_from = from; mctx->bkref_ents[mctx->nbkref_ents].subexp_to = to; mctx->bkref_ents[mctx->nbkref_ents++].flag = 0; if (mctx->max_mb_elem_len < to - from) mctx->max_mb_elem_len = to - from;
match_ctx_add_entry (mctx, node, from, to)    re_match_context_t *mctx;    int node, from, to;{  if (mctx->nbkref_ents >= mctx->abkref_ents)    {      mctx->bkref_ents = re_realloc (mctx->bkref_ents,                                     struct re_backref_cache_entry,                                     mctx->abkref_ents * 2);      if (BE (mctx->bkref_ents == NULL, 0))        return REG_ESPACE;      memset (mctx->bkref_ents + mctx->nbkref_ents, '\0',             sizeof (struct re_backref_cache_entry) * mctx->abkref_ents);      mctx->abkref_ents *= 2;    }  mctx->bkref_ents[mctx->nbkref_ents].node = node;  mctx->bkref_ents[mctx->nbkref_ents].from = from;  mctx->bkref_ents[mctx->nbkref_ents++].to = to;  if (mctx->max_bkref_len < to - from)    mctx->max_bkref_len = to - from;  return REG_NOERROR;}