This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Bug in POSIX.2 regex word boundary matching
- From: dominique dot pelle at free dot fr
- To: cygwin at cygwin dot com
- Date: Tue, 14 Mar 2006 19:37:43 +1300
- Subject: Re: Bug in POSIX.2 regex word boundary matching
- References: <1142317647.4416624fd617a@imp1-g19.free.fr>
Bleah. #include statements were missing in my
previously posted sample test case. Here
is the test case again with #include statements
this time:
$ cat regex-bug.c
#include <stdio.h>
#include <regex.h>
#include <stdlib.h>
int main()
{
regex_t r;
regmatch_t pmatch[2];
if (regcomp(&r, "\\bfoobar\\b", REG_EXTENDED) != 0) {
fprintf(stderr, "regcomp failed\n");
exit(-1);
}
/* I'd expect above regex to match following string */
if (regexec(&r, "test foobar test", 2, pmatch, 0) == 0) {
fprintf(stderr, "OK (match)\n"); /* expected behavior */
} else {
fprintf(stderr, "FAIL (mismatch)\n"); /* unexpected!? */
}
return 0;
}
$ gcc regex-bug.c
$ ./a.out
Outcome on Cywgin ................ FAIL (mismatch)
Outcome on Linux (Ubuntu-5.10) ... OK (match)
Cheers
-- Dominique
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/