]> diplodocus.org Git - nmh/blobdiff - uip/new.c
prevent spurious errors when requesting specific message parts
[nmh] / uip / new.c
index 83b09664d87533c48d3b7a3c41c76f4616356010..2bb8c17a2ae954065b1d71a0dbe2a851a9687325 100644 (file)
--- a/uip/new.c
+++ b/uip/new.c
@@ -114,11 +114,11 @@ get_msgnums(char *folder, char *sequences[])
        return NULL;
 
     if ((fp = lkfopendata (seqfile, "r", & failed_to_lock)) == NULL) {
-       free(seqfile);
 
        if (failed_to_lock) {
            adios (seqfile, "failed to lock");
        } else {
+           free(seqfile);
            return NULL;
        }
     }
@@ -261,7 +261,9 @@ check_folders(struct node **first, struct node **last,
     b.sequences = sequences;
 
     if (folders == NULL) {
-       chdir(m_maildir(""));
+       if (chdir(m_maildir("")) < 0) {
+           advise (m_maildir(""), "chdir");
+       }
        crawl_folders(".", crawl_callback, &b);
     } else {
        fp = fopen(folders, "r");
@@ -386,7 +388,9 @@ doit(char *cur, char *folders, char *sequences[])
            /* TODO: Split enough of scan.c out so that we can call it here. */
            command = concat("scan +", node->n_name, " ", sequences_s,
                             (void *)NULL);
-           system(command);
+           if (system(command) == NOTOK) {
+               adios (command, "system");
+           }
            free(command);
         } else {
             if (node->n_field == NULL) {