regex: remove non-standard error codes.
authorMarko Kreen <markokr@gmail.com>
Wed, 15 Sep 2010 11:45:13 +0000 (14:45 +0300)
committerMarko Kreen <markokr@gmail.com>
Wed, 15 Sep 2010 12:00:12 +0000 (15:00 +0300)
REG_EEND and REG_ESIZE are not in POSIX, and are unused
by this implementation.

ECOLLATE is also unused, but it's standard so keep it.

test/test_regex.c
usual/regex.c
usual/regex.h

index 8eb22f72a89491313153177f79bc4fa3a89d6e8d..65fbbd2bce313393dab45b4929f3f4dea178bb41 100644 (file)
@@ -93,6 +93,17 @@ static void test_regex(void *ptr)
 {
        str_check(e_rx("foo*", "foobar", 0), "(0,3)");
        str_check(e_rx("foo(x)?.*", "foobar", 0), "(0,6)(?,?)");
+       str_check(e_rx("foo", "bar", 0), "NOMATCH");
+       str_check(e_rx("foo{5,1}", "bar", 0), "BADBR");
+       str_check(e_rx("(|)", "bar", 0), "BADPAT");
+       str_check(e_rx("*", "bar", 0), "BADRPT");
+       str_check(e_rx("foo{", "bar", 0), "EBRACE");
+       str_check(e_rx("fo[o", "bar", 0), "EBRACK");
+       str_check(e_rx("[[:foo:]]", "bar", 0), "ECTYPE");
+       str_check(e_rx("foo\\", "foobar", 0), "EESCAPE");
+       str_check(e_rx("fo(o", "bar", 0), "EPAREN");
+       str_check(e_rx("[a-b-c]", "bar", 0), "ERANGE");
+       str_check(b_rx("(\\1)", "bar", 0), "ESUBREG");
 end:;
 }
 
index 479c3c479021848c225e98ea8b0c1a78d5591488..63e09149f7c0715c48f0efbc38f00f3729763fc4 100644 (file)
@@ -1271,13 +1271,11 @@ size_t regerror(int err, const regex_t *rx, char *dst, size_t dstlen)
                "EBRACK",       /* 6 */
                "ECOLLATE",     /* 7 */
                "ECTYPE",       /* 8 */
-               "EEND",         /* 9 */
-               "EESCAPE",      /* 10 */
-               "EPAREN",       /* 11 */
-               "ERANGE",       /* 12 */
-               "ESIZE",        /* 13 */
-               "ESPACE",       /* 14 */
-               "ESUBREG",      /* 15 */
+               "EESCAPE",      /* 9 */
+               "EPAREN",       /* 10 */
+               "ERANGE",       /* 11 */
+               "ESPACE",       /* 12 */
+               "ESUBREG",      /* 13 */
        };
        const char *s = "EUNKNOWN";
        if ((size_t)err <= ARRAY_NELEM(errlist))
index 6399a36a2bb80f791e87a8515a82c27f5139c6e5..ccc6cb4e611712dcaad20aa270ddaf9bad0222f9 100644 (file)
 #define REG_ECOLLATE   7
 /** Bad character class reference  */
 #define REG_ECTYPE     8
-/** ------------- */
-#define REG_EEND       9
 /** Trailing backslack */
-#define REG_EESCAPE    10
+#define REG_EESCAPE    9
 /** Syntax error with () */
-#define REG_EPAREN     11
+#define REG_EPAREN     10
 /** Bad endpoint in range */
-#define REG_ERANGE     12
-/** ----------------- */
-#define REG_ESIZE      13
+#define REG_ERANGE     11
 /** No memory */
-#define REG_ESPACE     14
+#define REG_ESPACE     12
 /** Bad subgroup reference */
-#define REG_ESUBREG    15
+#define REG_ESUBREG    13
 
 /* @} */