/[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 200 by ph10, Wed Aug 1 09:10:40 2007 UTC revision 230 by ph10, Mon Sep 10 13:23:56 2007 UTC
# Line 156  static int callout_count; Line 156  static int callout_count;
156  static int callout_extra;  static int callout_extra;
157  static int callout_fail_count;  static int callout_fail_count;
158  static int callout_fail_id;  static int callout_fail_id;
159    static int debug_lengths;
160  static int first_callout;  static int first_callout;
161  static int locale_set = 0;  static int locale_set = 0;
162  static int show_malloc;  static int show_malloc;
# Line 663  return count; Line 664  return count;
664    
665    
666  /*************************************************  /*************************************************
667    *         Case-independent strncmp() function    *
668    *************************************************/
669    
670    /*
671    Arguments:
672      s         first string
673      t         second string
674      n         number of characters to compare
675    
676    Returns:    < 0, = 0, or > 0, according to the comparison
677    */
678    
679    static int
680    strncmpic(uschar *s, uschar *t, int n)
681    {
682    while (n--)
683      {
684      int c = tolower(*s++) - tolower(*t++);
685      if (c) return c;
686      }
687    return 0;
688    }
689    
690    
691    
692    /*************************************************
693  *         Check newline indicator                *  *         Check newline indicator                *
694  *************************************************/  *************************************************/
695    
# Line 680  Returns:      appropriate PCRE_NEWLINE_x Line 707  Returns:      appropriate PCRE_NEWLINE_x
707  static int  static int
708  check_newline(uschar *p, FILE *f)  check_newline(uschar *p, FILE *f)
709  {  {
710  if (strncmp((char *)p, "cr>", 3) == 0) return PCRE_NEWLINE_CR;  if (strncmpic(p, (uschar *)"cr>", 3) == 0) return PCRE_NEWLINE_CR;
711  if (strncmp((char *)p, "lf>", 3) == 0) return PCRE_NEWLINE_LF;  if (strncmpic(p, (uschar *)"lf>", 3) == 0) return PCRE_NEWLINE_LF;
712  if (strncmp((char *)p, "crlf>", 5) == 0) return PCRE_NEWLINE_CRLF;  if (strncmpic(p, (uschar *)"crlf>", 5) == 0) return PCRE_NEWLINE_CRLF;
713  if (strncmp((char *)p, "anycrlf>", 8) == 0) return PCRE_NEWLINE_ANYCRLF;  if (strncmpic(p, (uschar *)"anycrlf>", 8) == 0) return PCRE_NEWLINE_ANYCRLF;
714  if (strncmp((char *)p, "any>", 4) == 0) return PCRE_NEWLINE_ANY;  if (strncmpic(p, (uschar *)"any>", 4) == 0) return PCRE_NEWLINE_ANY;
715  fprintf(f, "Unknown newline type at: <%s\n", p);  fprintf(f, "Unknown newline type at: <%s\n", p);
716  return 0;  return 0;
717  }  }
# Line 954  while (!done) Line 981  while (!done)
981    size_t size, regex_gotten_store;    size_t size, regex_gotten_store;
982    int do_study = 0;    int do_study = 0;
983    int do_debug = debug;    int do_debug = debug;
   int debug_lengths = 1;  
984    int do_G = 0;    int do_G = 0;
985    int do_g = 0;    int do_g = 0;
986    int do_showinfo = showinfo;    int do_showinfo = showinfo;
# Line 963  while (!done) Line 989  while (!done)
989    int erroroffset, len, delimiter, poffset;    int erroroffset, len, delimiter, poffset;
990    
991    use_utf8 = 0;    use_utf8 = 0;
992      debug_lengths = 1;
993    
994    if (infile == stdin) printf("  re> ");    if (infile == stdin) printf("  re> ");
995    if (extend_inputline(infile, buffer) == NULL) break;    if (extend_inputline(infile, buffer) == NULL) break;
# Line 1322  while (!done) Line 1349  while (!done)
1349        rre->magic_number = byteflip(rre->magic_number, sizeof(rre->magic_number));        rre->magic_number = byteflip(rre->magic_number, sizeof(rre->magic_number));
1350        rre->size = byteflip(rre->size, sizeof(rre->size));        rre->size = byteflip(rre->size, sizeof(rre->size));
1351        rre->options = byteflip(rre->options, sizeof(rre->options));        rre->options = byteflip(rre->options, sizeof(rre->options));
1352          rre->flags = byteflip(rre->flags, sizeof(rre->flags));
1353        rre->top_bracket = byteflip(rre->top_bracket, sizeof(rre->top_bracket));        rre->top_bracket = byteflip(rre->top_bracket, sizeof(rre->top_bracket));
1354        rre->top_backref = byteflip(rre->top_backref, sizeof(rre->top_backref));        rre->top_backref = byteflip(rre->top_backref, sizeof(rre->top_backref));
1355        rre->first_byte = byteflip(rre->first_byte, sizeof(rre->first_byte));        rre->first_byte = byteflip(rre->first_byte, sizeof(rre->first_byte));
# Line 1356  while (!done) Line 1384  while (!done)
1384  #if !defined NOINFOCHECK  #if !defined NOINFOCHECK
1385        int old_first_char, old_options, old_count;        int old_first_char, old_options, old_count;
1386  #endif  #endif
1387        int count, backrefmax, first_char, need_char, okpartial, jchanged;        int count, backrefmax, first_char, need_char, okpartial, jchanged,
1388            hascrorlf;
1389        int nameentrysize, namecount;        int nameentrysize, namecount;
1390        const uschar *nametable;        const uschar *nametable;
1391    
# Line 1371  while (!done) Line 1400  while (!done)
1400        new_info(re, NULL, PCRE_INFO_NAMETABLE, (void *)&nametable);        new_info(re, NULL, PCRE_INFO_NAMETABLE, (void *)&nametable);
1401        new_info(re, NULL, PCRE_INFO_OKPARTIAL, &okpartial);        new_info(re, NULL, PCRE_INFO_OKPARTIAL, &okpartial);
1402        new_info(re, NULL, PCRE_INFO_JCHANGED, &jchanged);        new_info(re, NULL, PCRE_INFO_JCHANGED, &jchanged);
1403          new_info(re, NULL, PCRE_INFO_HASCRORLF, &hascrorlf);
1404    
1405  #if !defined NOINFOCHECK  #if !defined NOINFOCHECK
1406        old_count = pcre_info(re, &old_options, &old_first_char);        old_count = pcre_info(re, &old_options, &old_first_char);
# Line 1413  while (!done) Line 1443  while (!done)
1443          }          }
1444    
1445        if (!okpartial) fprintf(outfile, "Partial matching not supported\n");        if (!okpartial) fprintf(outfile, "Partial matching not supported\n");
1446          if (hascrorlf) fprintf(outfile, "Contains explicit CR or LF match\n");
1447    
1448        all_options = ((real_pcre *)re)->options;        all_options = ((real_pcre *)re)->options;
1449        if (do_flip) all_options = byteflip(all_options, sizeof(all_options));        if (do_flip) all_options = byteflip(all_options, sizeof(all_options));

Legend:
Removed from v.200  
changed lines
  Added in v.230

  ViewVC Help
Powered by ViewVC 1.1.5