X-Spam-Check-By: sourceware.org Message-ID: <1142317647.4416624fd617a@imp1-g19.free.fr> Date: Tue, 14 Mar 2006 19:27:27 +1300 From: dominique DOT pelle AT free DOT fr To: cygwin AT cygwin DOT com Subject: Bug in POSIX.2 regex word boundary matching MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit User-Agent: Internet Messaging Program (IMP) 3.2.5 X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Hi, Word boundary regular expression matching (\b \< \>) does not work with POSIX.2 regex functions in cygwin (#include ). It works fine using Linux. Here is a simple test case to easily reproduce the problem: $ cat regex-bug.c 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 Here is the outcome on Cywgin ................ FAIL (mismatch) Here is the 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/