X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fregex%2Fregerror.c;h=5b347cc73c7351b72ec40efa4901818751da7019;hb=f70375df85d26235a45e74559afd69be59e5ff99;hp=17119fff5a38ed0302440c9d0f754071f76e5bf9;hpb=58bf74850f5f7286dc290aa22ad982f50620a1c8;p=musl diff --git a/src/regex/regerror.c b/src/regex/regerror.c index 17119fff..5b347cc7 100644 --- a/src/regex/regerror.c +++ b/src/regex/regerror.c @@ -1,6 +1,7 @@ #include #include #include +#include "locale_impl.h" /* Error message strings for error codes listed in `regex.h'. This list needs to be in sync with the codes listed there, naturally. */ @@ -22,14 +23,15 @@ static const char messages[] = { "Invalid contents of {}\0" "Invalid character range\0" "Out of memory\0" - "XXX\0" + "Repetition not preceded by valid expression\0" "\0Unknown error" }; -size_t regerror(int e, const regex_t *preg, char *buf, size_t size) +size_t regerror(int e, const regex_t *restrict preg, char *restrict buf, size_t size) { const char *s; - for (s=messages; e && *s; e--, e+=strlen(s)+1); + for (s=messages; e && *s; e--, s+=strlen(s)+1); if (!*s) s++; + s = LCTRANS_CUR(s); return 1+snprintf(buf, size, "%s", s); }