Realized that recent changes deserve a new version number.
[selector.git] / selector.c
index f573d79..945844f 100644 (file)
@@ -46,7 +46,7 @@
 #include <getopt.h>
 #include <limits.h>
 
-#define VERSION "1.1.7"
+#define VERSION "1.1.8"
 
 #define BUFFER_SIZE 16384
 
@@ -1126,7 +1126,11 @@ int main(int argc, char **argv) {
     case OPT_DELETE_REGEXP:
       free(global_prefix_regexp);
       global_prefix_regexp = safe_malloc(sizeof(*global_prefix_regexp));
-      regcomp(global_prefix_regexp, optarg, 0);
+
+      if(regcomp(global_prefix_regexp, optarg, 0)) {
+        fprintf(stderr, "selector: Regexp syntax error `%s'.\n", optarg);
+        exit(EXIT_FAILURE);
+      }
       break;
 
     case 'r':
@@ -1463,7 +1467,11 @@ int main(int argc, char **argv) {
   free(labels);
   free(lines);
   free(global_title);
-  free(global_prefix_regexp);
+
+  if(global_prefix_regexp) {
+    regfree(global_prefix_regexp);
+    free(global_prefix_regexp);
+  }
 
   exit(EXIT_SUCCESS);
 }