Blame win32/regerror.c

Packit Service ff689b
#include <string.h>
Packit Service ff689b
#include <regex.h>
Packit Service ff689b
#include <stdio.h>
Packit Service ff689b
// #include "locale_impl.h"
Packit Service ff689b
Packit Service ff689b
/* Error message strings for error codes listed in `regex.h'.  This list
Packit Service ff689b
   needs to be in sync with the codes listed there, naturally. */
Packit Service ff689b
Packit Service ff689b
/* Converted to single string by Rich Felker to remove the need for
Packit Service ff689b
 * data relocations at runtime, 27 Feb 2006. */
Packit Service ff689b
Packit Service ff689b
static const char messages[] = {
Packit Service ff689b
  "No error\0"
Packit Service ff689b
  "No match\0"
Packit Service ff689b
  "Invalid regexp\0"
Packit Service ff689b
  "Unknown collating element\0"
Packit Service ff689b
  "Unknown character class name\0"
Packit Service ff689b
  "Trailing backslash\0"
Packit Service ff689b
  "Invalid back reference\0"
Packit Service ff689b
  "Missing ']'\0"
Packit Service ff689b
  "Missing ')'\0"
Packit Service ff689b
  "Missing '}'\0"
Packit Service ff689b
  "Invalid contents of {}\0"
Packit Service ff689b
  "Invalid character range\0"
Packit Service ff689b
  "Out of memory\0"
Packit Service ff689b
  "Repetition not preceded by valid expression\0"
Packit Service ff689b
  "\0Unknown error"
Packit Service ff689b
};
Packit Service ff689b
Packit Service ff689b
size_t regerror(int e, const regex_t *__restrict preg, char *__restrict buf, size_t size)
Packit Service ff689b
{
Packit Service ff689b
	const char *s;
Packit Service ff689b
	for (s=messages; e && *s; e--, s+=strlen(s)+1);
Packit Service ff689b
	if (!*s) s++;
Packit Service ff689b
	// s = LCTRANS_CUR(s);
Packit Service ff689b
	return 1+snprintf(buf, size, "%s", s);
Packit Service ff689b
}