/[pcre]/code/trunk/pcretest.c
ViewVC logotype

Diff of /code/trunk/pcretest.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 149 by ph10, Mon Apr 16 15:28:08 2007 UTC revision 151 by ph10, Tue Apr 17 15:07:29 2007 UTC
# Line 852  while (argc > 1 && argv[op][0] == '-') Line 852  while (argc > 1 && argv[op][0] == '-')
852      (void)pcre_config(PCRE_CONFIG_NEWLINE, &rc);      (void)pcre_config(PCRE_CONFIG_NEWLINE, &rc);
853      printf("  Newline sequence is %s\n", (rc == '\r')? "CR" :      printf("  Newline sequence is %s\n", (rc == '\r')? "CR" :
854        (rc == '\n')? "LF" : (rc == ('\r'<<8 | '\n'))? "CRLF" :        (rc == '\n')? "LF" : (rc == ('\r'<<8 | '\n'))? "CRLF" :
855        (rc == -2)? "ANYCRLF" :        (rc == -2)? "ANYCRLF" :
856        (rc == -1)? "ANY" : "???");        (rc == -1)? "ANY" : "???");
857      (void)pcre_config(PCRE_CONFIG_LINK_SIZE, &rc);      (void)pcre_config(PCRE_CONFIG_LINK_SIZE, &rc);
858      printf("  Internal link size = %d\n", rc);      printf("  Internal link size = %d\n", rc);
# Line 890  offsets = (int *)malloc(size_offsets_max Line 890  offsets = (int *)malloc(size_offsets_max
890  if (offsets == NULL)  if (offsets == NULL)
891    {    {
892    printf("** Failed to get %d bytes of memory for offsets vector\n",    printf("** Failed to get %d bytes of memory for offsets vector\n",
893      size_offsets_max * sizeof(int));      (int)(size_offsets_max * sizeof(int)));
894    yield = 1;    yield = 1;
895    goto EXIT;    goto EXIT;
896    }    }
# Line 1852  while (!done) Line 1852  while (!done)
1852            if (offsets == NULL)            if (offsets == NULL)
1853              {              {
1854              printf("** Failed to get %d bytes of memory for offsets vector\n",              printf("** Failed to get %d bytes of memory for offsets vector\n",
1855                size_offsets_max * sizeof(int));                (int)(size_offsets_max * sizeof(int)));
1856              yield = 1;              yield = 1;
1857              goto EXIT;              goto EXIT;
1858              }              }
# Line 2225  while (!done) Line 2225  while (!done)
2225        to advance the start offset, and continue. We won't be at the end of the        to advance the start offset, and continue. We won't be at the end of the
2226        string - that was checked before setting g_notempty.        string - that was checked before setting g_notempty.
2227    
2228        Complication arises in the case when the newline option is "any" or        Complication arises in the case when the newline option is "any" or
2229        "anycrlf". If the previous match was at the end of a line terminated by        "anycrlf". If the previous match was at the end of a line terminated by
2230        CRLF, an advance of one character just passes the \r, whereas we should        CRLF, an advance of one character just passes the \r, whereas we should
2231        prefer the longer newline sequence, as does the code in pcre_exec().        prefer the longer newline sequence, as does the code in pcre_exec().
# Line 2248  while (!done) Line 2248  while (!done)
2248              obits = (d == '\r')? PCRE_NEWLINE_CR :              obits = (d == '\r')? PCRE_NEWLINE_CR :
2249                      (d == '\n')? PCRE_NEWLINE_LF :                      (d == '\n')? PCRE_NEWLINE_LF :
2250                      (d == ('\r'<<8 | '\n'))? PCRE_NEWLINE_CRLF :                      (d == ('\r'<<8 | '\n'))? PCRE_NEWLINE_CRLF :
2251                      (d == -2)? PCRE_NEWLINE_ANYCRLF :                      (d == -2)? PCRE_NEWLINE_ANYCRLF :
2252                      (d == -1)? PCRE_NEWLINE_ANY : 0;                      (d == -1)? PCRE_NEWLINE_ANY : 0;
2253              }              }
2254            if (((obits & PCRE_NEWLINE_BITS) == PCRE_NEWLINE_ANY ||            if (((obits & PCRE_NEWLINE_BITS) == PCRE_NEWLINE_ANY ||
2255                 (obits & PCRE_NEWLINE_BITS) == PCRE_NEWLINE_ANYCRLF)                 (obits & PCRE_NEWLINE_BITS) == PCRE_NEWLINE_ANYCRLF)
2256                &&                &&
2257                start_offset < len - 1 &&                start_offset < len - 1 &&
2258                bptr[start_offset] == '\r' &&                bptr[start_offset] == '\r' &&

Legend:
Removed from v.149  
changed lines
  Added in v.151

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12