if (MB_CUR_MAX > 1)
if (input->mb_cur_max > 1)
re_string_context_at (input, idx, eflags, newline_anchor)     const re_string_t *input;     int idx, eflags, newline_anchor;{  int c;  if (idx < 0 || idx == input->len)    {      if (idx < 0)	/* In this case, we use the value stored in input->tip_context,	   since we can't know the character in input->mbs[-1] here.  */	return input->tip_context;      else /* (idx == input->len) */	return ((eflags & REG_NOTEOL) ? CONTEXT_ENDBUF		: CONTEXT_NEWLINE | CONTEXT_ENDBUF);    }#ifdef RE_ENABLE_I18N  if (MB_CUR_MAX > 1)    {      wint_t wc;      int wc_idx = idx;      while(input->wcs[wc_idx] == WEOF)	{#ifdef DEBUG	  /* It must not happen.  */	  assert (wc_idx >= 0);#endif	  --wc_idx;	  if (wc_idx < 0)	    return input->tip_context;	}      wc = input->wcs[wc_idx];      if (IS_WIDE_WORD_CHAR (wc))	return CONTEXT_WORD;      return (newline_anchor && IS_WIDE_NEWLINE (wc)) ? CONTEXT_NEWLINE : 0;    }  else#endif    {      c = re_string_byte_at (input, idx);      if (IS_WORD_CHAR (c))	return CONTEXT_WORD;      return (newline_anchor && IS_NEWLINE (c)) ? CONTEXT_NEWLINE : 0;    }}