Blame posix/bug-regex31.c

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