On Thu, 28 May 2015, Ze'ev Atlas wrote:

> \n is definitly not defined correctly
> I ran 4 tests.  Note that new line is defined correctly as 21 = 0x15 in EBCDIC

Somehow the newlines are getting lost when you quote the output of 
pcretest. I am guessing where they are and putting them back (and 
snipping irrelevant lines).

> /¬(?<=foo\x15)bar/Im
> foo\x15barbar 
> 0: bar    

That's the only match, and it's not surprising as it is totally 
different regex, not involving \n at all.

> In my config.h I have#ifndef NEWLINE#define NEWLINE 21#endif

OK, that's the default 0x15. The test you did *not* do is this:

  /(?<=foo\n)¬bar/Im
  foo\x15barbar

Does that match? My guess is still that '\n' in C code is turning into a 
character other than 0x15, causing pcretest to pass the wrong value. 
What is the output from this program:

#include <stdio.h>
int main(void)
{
printf("0x%x\n", '\n');
return 0;
}

Philip

-- 
Philip Hazel
-- 
## List details at https://lists.exim.org/mailman/listinfo/pcre-dev 

Reply via email to