Back to index

glibc  2.9
Functions | Variables
bug-regex9.c File Reference
#include <sys/types.h>
#include <mcheck.h>
#include <regex.h>
#include <stdio.h>
#include <stdlib.h>

Go to the source code of this file.

Functions

int main (void)

Variables

static const char text [] = "#! /bin/sh"

Function Documentation

int main ( void  )

Definition at line 31 of file bug-regex9.c.

{
  regex_t re;
  regmatch_t rm[2];
  int n;

  mtrace ();

  n = regcomp (&re, "^#! */.*/(k|ba||pdk|z)sh", REG_EXTENDED);
  if (n != 0)
    {
      char buf[500];
      regerror (n, &re, buf, sizeof (buf));
      printf ("regcomp failed: %s\n", buf);
      exit (1);
    }

  for (n = 0; n < 20; ++n)
    {
      if (regexec (&re, text, 2, rm, 0))
       {
         puts ("regexec failed");
         exit (2);
       }
      if (rm[0].rm_so != 0 || rm[0].rm_eo != 10
         || rm[1].rm_so != 8 || rm[1].rm_eo != 8)
       {
         printf ("regexec match failure: %d %d %d %d\n",
                rm[0].rm_so, rm[0].rm_eo, rm[1].rm_so, rm[1].rm_eo);
         exit (3);
       }
    }

  regfree (&re);

  return 0;
}

Here is the call graph for this function:


Variable Documentation

const char text[] = "#! /bin/sh" [static]

Definition at line 28 of file bug-regex9.c.