X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/0e9d59cad403f6e9ef6601e3c9889b82a9f325bc..248c3a452003bc95088d9a1c4dec988696be2d7d:/uip/folder.c diff --git a/uip/folder.c b/uip/folder.c index 02a979ad..8ab6528b 100644 --- a/uip/folder.c +++ b/uip/folder.c @@ -8,6 +8,19 @@ */ #include "h/mh.h" +#include "sbr/getarguments.h" +#include "sbr/concat.h" +#include "sbr/seq_setprev.h" +#include "sbr/seq_setcur.h" +#include "sbr/seq_save.h" +#include "sbr/smatch.h" +#include "sbr/ssequal.h" +#include "sbr/getcpy.h" +#include "sbr/m_convert.h" +#include "sbr/getfolder.h" +#include "sbr/folder_read.h" +#include "sbr/folder_pack.h" +#include "sbr/folder_free.h" #include "sbr/context_save.h" #include "sbr/context_replace.h" #include "sbr/context_del.h" @@ -18,7 +31,7 @@ #include "sbr/print_version.h" #include "sbr/print_help.h" #include "sbr/error.h" -#include "h/crawl_folders.h" +#include "sbr/crawl_folders.h" #include "h/done.h" #include "h/utils.h" #include "sbr/m_maildir.h" @@ -59,12 +72,12 @@ DEFINE_SWITCH_ARRAY(FOLDER, switches); static bool fshort; /* output only folder names */ static int fcreat = 0; /* should we ask to create new folders? */ -static bool fpack; /* are we packing the folder? */ -static bool fverb; /* print actions taken while packing folder */ +static bool fpack; /* are we packing the folder? */ +static bool fverb; /* print actions taken while packing folder */ static int fheader = 0; /* should we output a header? */ -static bool frecurse; /* recurse through subfolders */ +static bool frecurse; /* recurse through subfolders */ static int ftotal = 0; /* should we output the totals? */ -static bool all; /* should we output all folders */ +static bool all; /* should we output all folders */ static int total_folders = 0; /* total number of folders */ @@ -117,7 +130,7 @@ nonexistent_folder (int status) int main (int argc, char **argv) { - bool printsw = false; + int printsw = -1; bool listsw = false; bool pushsw = false; bool popsw = false; @@ -211,10 +224,10 @@ main (int argc, char **argv) continue; case PRNTSW: - printsw = true; + printsw = 1; continue; case NPRNTSW: - printsw = false; + printsw = 0; continue; case LISTSW: @@ -252,11 +265,13 @@ main (int argc, char **argv) nmhdir = concat (m_maildir (""), "/", NULL); /* - * If we aren't working with the folder stack - * (-push, -pop, -list) then the default is to print. + * If not directed via -print/-noprint, we print folder summary + * info unless if we're working with the folder stack (i.e., + * -push, -pop, or -list). */ - if (!pushsw && !popsw && !listsw) - printsw = true; + if (printsw == -1) { + printsw = !(pushsw || popsw || listsw); + } /* Pushing a folder onto the folder stack */ if (pushsw) { @@ -381,7 +396,8 @@ main (int argc, char **argv) /* * Print out folder information */ - print_folders(); + if (printsw) + print_folders(); context_save (); /* save the context file */ done (0);