diff options
Diffstat (limited to 'posix/regexbug1.c')
-rw-r--r-- | posix/regexbug1.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/posix/regexbug1.c b/posix/regexbug1.c index 8ab0bc0..5758046 100644 --- a/posix/regexbug1.c +++ b/posix/regexbug1.c @@ -22,9 +22,29 @@ main (void) if (regexec (&re, "002", 2, ma, 0) != 0) { - error (0, 0, "\"0*[0-9][0-9]\" did not match \"002\""); + error (0, 0, "\"0*[0-9][0-9]\" does not match \"002\""); res = 1; } + puts ("Succesful match with \"0*[0-9][0-9]\""); + + regfree (&re); + + reerr = regcomp (&re, "[0a]*[0-9][0-9]", 0); + if (reerr != 0) + { + char buf[100]; + regerror (reerr, &re, buf, sizeof buf); + error (EXIT_FAILURE, 0, buf); + } + + if (regexec (&re, "002", 2, ma, 0) != 0) + { + error (0, 0, "\"[0a]*[0-9][0-9]\" does not match \"002\""); + res = 1; + } + puts ("Succesful match with \"[0a]*[0-9][0-9]\""); + + regfree (&re); return res; } |