--- regerror.c.orig 2010-05-05 14:42:17.000000000 -0700 +++ regerror.c 2010-05-05 14:42:24.000000000 -0700 @@ -85,10 +85,10 @@ static char *regatoi(const regex_t *preg = #define REG_ATOI 255 // convert name to number (!) = #define REG_ITOA 0400 // convert number to name (!) */ -static struct rerr { +static const struct rerr { int code; - char *name; - char *explain; + const char *name; + const char *explain; } rerrs[] = { {REG_NOMATCH, "REG_NOMATCH", "regexec() failed to match"}, {REG_BADPAT, "REG_BADPAT", "invalid regular expression"}, @@ -122,10 +122,10 @@ const regex_t * __restrict preg; char * __restrict errbuf; size_t errbuf_size; { - struct rerr *r; + const struct rerr *r; size_t len; int target = errcode &~ REG_ITOA; - char *s; + const char *s; char convbuf[50]; if (errcode == REG_ATOI) @@ -168,7 +168,7 @@ regatoi(preg, localbuf) const regex_t *preg; char *localbuf; { - struct rerr *r; + const struct rerr *r; for (r = rerrs; r->code != 0; r++) if (strcmp(r->name, preg->re_endp) == 0)