re_sub_match_top_t *sub_top;
const re_sub_match_top_t *sub_top;
get_subexp_sub (preg, mctx, sub_top, sub_last, bkref_node, bkref_str)     const regex_t *preg;     re_match_context_t *mctx;     re_sub_match_top_t *sub_top;     re_sub_match_last_t *sub_last;     int bkref_node, bkref_str;{  reg_errcode_t err;  int to_idx;  /* Can the subexpression arrive the back reference?  */  err = check_arrival (preg, mctx, &sub_last->path, sub_last->node,		       sub_last->str_idx, bkref_node, bkref_str, 1);  if (err != REG_NOERROR)    return err;  err = match_ctx_add_entry (mctx, bkref_node, bkref_str, sub_top->str_idx,			     sub_last->str_idx);  if (BE (err != REG_NOERROR, 0))    return err;  to_idx = bkref_str + sub_last->str_idx - sub_top->str_idx;  clean_state_log_if_need (mctx, to_idx);  return REG_NOERROR;}