X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/b56c88e2847c582f9b18ae5bbda44f033cd49c42..81299194c0afb9c87fbde2970cc0bd8304b8df70:/uip/folder.c diff --git a/uip/folder.c b/uip/folder.c index 98ecde68..f1af6f25 100644 --- a/uip/folder.c +++ b/uip/folder.c @@ -92,6 +92,16 @@ static void print_folders (void); static int sfold (struct msgs *, char *); static void readonly_folders (void); +/* + * Function for printing error message if folder does not exist with + * -nocreate. + */ +void +nonexistant_folder (int status) { + NMH_UNUSED (status); + adios (NULL, "folder %s does not exist", folder); +} + int main (int argc, char **argv) @@ -349,7 +359,7 @@ main (int argc, char **argv) * Check if folder exists. If not, then see if * we should create it, or just exit. */ - create_folder (m_maildir (folder), fcreat, done); + create_folder (m_maildir (folder), fcreat, nonexistant_folder); if (get_folder_info (folder, msg) && argfolder) { /* update current folder */ @@ -398,6 +408,7 @@ get_folder_info_body (char *fold, char *msg, boolean *crawl_children) */ if (!(mp = folder_read (fold, 1))) { admonish (NULL, "unable to read folder %s", fold); + *crawl_children = FALSE; return 0; } @@ -406,8 +417,10 @@ get_folder_info_body (char *fold, char *msg, boolean *crawl_children) retval = 0; if (fpack) { - if (folder_pack (&mp, fverb) == -1) + if (folder_pack (&mp, fverb) == -1) { + *crawl_children = FALSE; /* to please clang static analyzer */ done (1); + } seq_save (mp); /* synchronize the sequences */ context_save (); /* save the context file */ }