#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"
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 */
int
main (int argc, char **argv)
{
- bool printsw = false;
+ int printsw = -1;
bool listsw = false;
bool pushsw = false;
bool popsw = false;
continue;
case PRNTSW:
- printsw = true;
+ printsw = 1;
continue;
case NPRNTSW:
- printsw = false;
+ printsw = 0;
continue;
case LISTSW:
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) {
/*
* Print out folder information
*/
- print_folders();
+ if (printsw)
+ print_folders();
context_save (); /* save the context file */
done (0);