]> mj.ucw.cz Git - libucw.git/commitdiff
syntax of regular expessions changed to extended
authorRobert Spalek <robert@ucw.cz>
Fri, 30 Mar 2001 13:15:15 +0000 (13:15 +0000)
committerRobert Spalek <robert@ucw.cz>
Fri, 30 Mar 2001 13:15:15 +0000 (13:15 +0000)
regex-test extended to test this

lib/regex-test.c
lib/regex.c

index abe684ada9d8b167f89cba95d70d926c5eeff9de..d1e393ba636e0aa57d6be93f0f29423b7ea971e0 100644 (file)
@@ -8,20 +8,31 @@
 
 #include <stdio.h>
 
+#define        PREPARE(patt, icase)    r = rx_compile(patt, icase); printf("\npattern: %s\n", patt)
 #define        TEST(txt, should)       printf(#txt ": %d (should %d)\n", rx_match(r, #txt), should)
 int
 main(void)
 {
        regex *r;
-       r = rx_compile("a.*b.*c", 0);
+
+       PREPARE("a.*b.*c", 0);
        TEST(abc, 1);
        TEST(ajkhkbbbbbc, 1);
        TEST(Aabc, 0);
        rx_free(r);
-       r = rx_compile("a.*b.*c", 1);
+
+       PREPARE("a.*b.*c", 1);
        TEST(aBc, 1);
        TEST(ajkhkbBBBBC, 1);
        TEST(Aabc, 1);
        rx_free(r);
+
+       PREPARE("(ahoj|nebo)", 1);
+       TEST("Ahoj", 1);
+       TEST("nEBo", 1);
+       TEST("ahoja", 0);
+       TEST("(ahoj|nebo)", 0);
+       rx_free(r);
+
        return 0;
 }
index 4cc75d6c3db6490e6ea642424d3aeff1c7bcb140..e1e2df608370b722675db4a2e187cdeeb885cc91 100644 (file)
@@ -41,6 +41,7 @@ rx_compile(byte *p, int icase)
     }
   else
     r->buf.translate = NULL;
+  re_set_syntax(RE_SYNTAX_POSIX_EXTENDED);
   msg = re_compile_pattern(p, strlen(p), &r->buf);
   if (!msg)
     return r;