This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: regex library fails git tests


On Jul 21 22:59, Mark Levedahl wrote:
> On 07/21/2013 03:39 PM, Corinna Vinschen wrote:
> 
> >So, what I did now was this:  I added a workaround to Cygwin's regcomp.
> >If the current codeset is ASCII, the characters in the pattern are
> >converted to wchar_t by simply using their unsigned value verbatim.
> >This allows to compile (and test) the patterns in the git testcases.
> >
> >However, please note that this behaviour, while being provided by glibc
> >and now by Cygwin, is *not* standards-compliant.  In the narrow sense
> >the characters beyond 0x7f are still invalid ASCII chars, and other
> >functions working with wchar_t strings won't be as forgiving when using
> >invalid input.
> >
> >
> >HTH,
> >Corinna
> >
> 
> Thank you. I confirm that git passes the two test cases (t4018 and
> t4034) using today's snapshot.

Thanks for your feedback and for testing the snapshot.  I created them
yesterday but then forgot to mention them here.

> I will pass your comments about use
> of characters 0x80 and above to the git list to see if they wish to
> change anything.

After some sleep, I think I now understand why the glibc devs made
regcomp to work this way.  This behaviour is backward compatible to non
locale-aware applications.  In the "C" locale, a char is just some
arbitrary byte between 0 and 255.  So this pattern always worked before
in the "C locale, therefore it makes sense that it continues to work,
even if it won't when using other locales/codesets.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]