glibc/posix/bug-regex31.c

37 lines
565 B
C
Raw Normal View History

2010-10-12 00:34:53 +08:00
#include <mcheck.h>
#include <regex.h>
#include <stdio.h>
#include <sys/types.h>
int
main (void)
2010-10-12 00:34:53 +08:00
{
mtrace ();
int res = 0;
char *buf = NULL;
size_t len = 0;
while (! feof (stdin))
{
ssize_t n = getline (&buf, &len, stdin);
if (n <= 0)
break;
if (buf[n - 1] == '\n')
buf[n - 1] = '\0';
regex_t regex;
int rc = regcomp (&regex, buf, REG_EXTENDED);
if (rc != 0)
printf ("%s: Error %d (expected)\n", buf, rc);
else
{
printf ("%s: succeeded !\n", buf);
res = 1;
}
}
free (buf);
return 0;
2010-10-12 00:34:53 +08:00
}