xregcomp: don't consider every regex compilation failure an internal error.
[notmuch] / util / xutil.c
index 15ff7650c3b5cc7782726c88f781ec20106baf95..ac496daf17f7c6f5f1dab6aabe8ff7e6dd8f4793 100644 (file)
@@ -99,7 +99,7 @@ xstrndup (const char *s, size_t n)
     return ret;
 }
 
-void
+int
 xregcomp (regex_t *preg, const char *regex, int cflags)
 {
     int rerr;
@@ -110,9 +110,12 @@ xregcomp (regex_t *preg, const char *regex, int cflags)
        char *error = xmalloc (error_size);
 
        regerror (rerr, preg, error, error_size);
-       INTERNAL_ERROR ("compiling regex %s: %s\n",
+       fprintf (stderr, "compiling regex %s: %s\n",
                        regex, error);
+       free (error);
+       return 1;
     }
+    return 0;
 }
 
 int