This is mmh-0.4
[mmh] / uip / pick.c
index aba0c02..b1a946d 100644 (file)
@@ -16,6 +16,7 @@
 #include <sysexits.h>
 #include <ctype.h>
 #include <regex.h>
+#include <libgen.h>
 
 #ifdef HAVE_SYS_TIME_H
 # include <sys/time.h>
@@ -1330,6 +1331,7 @@ createpickthread(char *msgs)
        for (i = 0; i < files.size; i++) {
                buf = getthreadid(files.msgs[i]);
                if (!buf) {
+                       adios(EX_DATAERR, NULL, "message %s is not part of a thread", basename(files.msgs[i]));
                        continue;
                }
 
@@ -1366,7 +1368,7 @@ createonethread(char *c)
 
        bd->left = left;
        bd->right = right;
-       gd->header = "message-id";
+       gd->header = mh_xstrdup("message-id");
 
        snprintf(buf, sizeof(buf), "^[ \t]*<%s>", c);
        if(!gcompile(gd, buf)) {
@@ -1375,7 +1377,7 @@ createonethread(char *c)
        }
 
        gd = right->data;
-       gd->header = "references";
+       gd->header = mh_xstrdup("references");
 
        snprintf(buf, sizeof(buf), "^[ \t]*<%s>", c);
        if(!gcompile(gd, buf)) {