Blame posix/bug-regex32.c
|
Packit |
6c4009 |
// BZ 12811
|
|
Packit |
6c4009 |
#include <regex.h>
|
|
Packit |
6c4009 |
#include <stdio.h>
|
|
Packit |
6c4009 |
#include <locale.h>
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
static int
|
|
Packit |
6c4009 |
do_test (void)
|
|
Packit |
6c4009 |
{
|
|
Packit |
6c4009 |
char buf[1000];
|
|
Packit |
6c4009 |
regex_t preg;
|
|
Packit |
6c4009 |
if (setlocale (LC_CTYPE, "de_DE.UTF-8") == NULL)
|
|
Packit |
6c4009 |
{
|
|
Packit |
6c4009 |
puts ("setlocale failed");
|
|
Packit |
6c4009 |
return 1;
|
|
Packit |
6c4009 |
}
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
int e = regcomp (&preg, ".*ab", REG_ICASE);
|
|
Packit |
6c4009 |
if (e != 0)
|
|
Packit |
6c4009 |
{
|
|
Packit |
6c4009 |
regerror (e, &preg, buf, sizeof (buf));
|
|
Packit |
6c4009 |
printf ("regcomp = %d \"%s\"\n", e, buf);
|
|
Packit |
6c4009 |
return 1;
|
|
Packit |
6c4009 |
}
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
// Incomplete character at the end of the buffer
|
|
Packit |
6c4009 |
e = regexec (&preg, "aaaaaaaaaaaa\xc4", 0, NULL, 0);
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
regfree (&preg;;
|
|
Packit |
6c4009 |
regerror (e, &preg, buf, sizeof (buf));
|
|
Packit |
6c4009 |
printf ("regexec = %d \"%s\"\n", e, buf);
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
return e != REG_NOMATCH;
|
|
Packit |
6c4009 |
}
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
#define TEST_FUNCTION do_test ()
|
|
Packit |
6c4009 |
#include "../test-skeleton.c"
|