rem: regerror (errcode, preg, errbuf, errbuf_size) int errcode; const regex_t *preg; char *errbuf; size_t errbuf_size;
add: regerror (int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size)
context: regerror (errcode, preg, errbuf, errbuf_size)    int errcode;    const regex_t *preg;    char *errbuf;    size_t errbuf_size;{  const char *msg;  size_t msg_size;  if (errcode < 0      || errcode >= (int) (sizeof (re_error_msgid_idx)			   / sizeof (re_error_msgid_idx[0])))    /* Only error codes returned by the rest of the code should be passed       to this routine.  If we are given anything else, or if other regex       code generates an invalid error code, then the program has a bug.       Dump core so we can fix it.  */    abort ();  msg = gettext (re_error_msgid + re_error_msgid_idx[errcode]);  msg_size = strlen (msg) + 1; /* Includes the null.  */  if (errbuf_size != 0)    {      if (msg_size > errbuf_size)        {#if defined HAVE_MEMPCPY || defined _LIBC	  *((char *) __mempcpy (errbuf, msg, errbuf_size - 1)) = '\0';#else          memcpy (errbuf, msg, errbuf_size - 1);          errbuf[errbuf_size - 1] = 0;#endif        }      else        memcpy (errbuf, msg, msg_size);    }  return msg_size;}