fail in pick if a massage of -thread has no thread-id
[mmh] / uip / pick.c
index aba0c02..f700a0c 100644 (file)
@@ -1330,6 +1330,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 +1367,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 +1376,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)) {