X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Ffolder.c;h=92ee49624e18849800b1dfe324860bdba807c6aa;hp=616f57b90c37b025538f4bdf9224de7a9fda461f;hb=fede6e42d81ce34fd5c1bbe7fb2757b281c2573a;hpb=69b07982861716d278845f962c2f2c1365a3153f diff --git a/uip/folder.c b/uip/folder.c index 616f57b..92ee496 100644 --- a/uip/folder.c +++ b/uip/folder.c @@ -17,50 +17,46 @@ static struct swit switches[] = { #define ALLSW 0 { "all", 0 }, #define NALLSW 1 - { "noall", 0 }, + { "noall", 2 }, #define CREATSW 2 { "create", 0 }, #define NCREATSW 3 - { "nocreate", 0 }, + { "nocreate", 2 }, #define FASTSW 4 { "fast", 0 }, #define NFASTSW 5 - { "nofast", 0 }, -#define HDRSW 6 - { "header", 0 }, -#define NHDRSW 7 - { "noheader", 0 }, -#define PACKSW 8 + { "nofast", 2 }, +#define PACKSW 6 { "pack", 0 }, -#define NPACKSW 9 - { "nopack", 0 }, -#define VERBSW 10 +#define NPACKSW 7 + { "nopack", 2 }, +#define VERBSW 8 { "verbose", 0 }, -#define NVERBSW 11 - { "noverbose", 0 }, -#define RECURSW 12 +#define NVERBSW 9 + { "noverbose", 2 }, +#define RECURSW 10 { "recurse", 0 }, -#define NRECRSW 13 - { "norecurse", 0 }, -#define TOTALSW 14 +#define NRECRSW 11 + { "norecurse", 2 }, +#define TOTALSW 12 { "total", 0 }, -#define NTOTLSW 15 - { "nototal", 0 }, -#define LISTSW 16 +#define NTOTLSW 13 + { "nototal", 2 }, +#define LISTSW 14 { "list", 0 }, -#define NLISTSW 17 - { "nolist", 0 }, -#define PRNTSW 18 +#define NLISTSW 15 + { "nolist", 2 }, +#define PRNTSW 16 { "print", 0 }, -#define NPRNTSW 19 +#define NPRNTSW 17 { "noprint", -4 }, -#define PUSHSW 20 +#define PUSHSW 18 { "push", 0 }, -#define POPSW 21 +#define POPSW 19 { "pop", 0 }, -#define VERSIONSW 22 - { "version", 0 }, -#define HELPSW 23 +#define VERSIONSW 20 + { "Version", 0 }, +#define HELPSW 21 { "help", 0 }, { NULL, 0 } }; @@ -69,7 +65,6 @@ static int fshort = 0; /* output only folder names */ static int fcreat = 0; /* should we ask to create new folders? */ static int fpack = 0; /* are we packing the folder? */ static int fverb = 0; /* print actions taken while packing folder */ -static int fheader = 0; /* should we output a header? */ static int frecurse = 0; /* recurse through subfolders */ static int ftotal = 0; /* should we output the totals? */ static int all = 0; /* should we output all folders */ @@ -120,9 +115,7 @@ main(int argc, char **argv) char *cp, *dp, *msg = NULL, *argfolder = NULL; char **ap, **argp, buf[BUFSIZ], **arguments; -#ifdef LOCALE setlocale(LC_ALL, ""); -#endif invo_name = mhbasename(argv[0]); /* read user profile/context */ @@ -143,17 +136,18 @@ main(int argc, char **argv) switch (smatch(++cp, switches)) { case AMBIGSW: ambigsw(cp, switches); - done(1); + /*sysexits.h EX_USAGE*/ + exit(1); case UNKWNSW: adios(NULL, "-%s unknown", cp); case HELPSW: snprintf(buf, sizeof(buf), "%s [+folder] [msg] [switches]", invo_name); print_help(buf, switches, 1); - done(1); + exit(0); case VERSIONSW: print_version(invo_name); - done(1); + exit(0); case ALLSW: all = 1; @@ -177,13 +171,6 @@ main(int argc, char **argv) fshort = 0; continue; - case HDRSW: - fheader = 1; - continue; - case NHDRSW: - fheader = -1; - continue; - case PACKSW: fpack++; continue; @@ -328,8 +315,9 @@ main(int argc, char **argv) } printf("\n"); - if (!printsw) - done(0); + if (!printsw) { + exit(0); + } } /* Allocate initial space to record folder information */ @@ -393,8 +381,7 @@ main(int argc, char **argv) print_folders(); context_save(); - done(0); - return 1; + return 0; } static int @@ -436,8 +423,9 @@ get_folder_info_body(char *fold, char *msg, boolean *crawl_children) retval = 0; if (fpack) { - if (folder_pack(&mp, fverb) == -1) - done(1); + if (folder_pack(&mp, fverb) == -1) { + exit(0); + } seq_save(mp); /* synchronize the sequences */ context_save(); /* save the context file */ } @@ -544,17 +532,6 @@ print_folders(void) nummsgdigits = 2; /* - ** Print the header - */ - if (fheader > 0 || (all && !fshort && fheader >= 0)) - printf("%-*s %*s %-*s; %-*s %*s\n", - maxlen+1, "FOLDER", - nummsgdigits + 13, "# MESSAGES", - lowmsgdigits + hghmsgdigits + 4, " RANGE", - curmsgdigits + 4, "CUR", - 9, "(OTHERS)"); - - /* ** Print folder information */ if (all || fshort || ftotal < 1) { @@ -600,7 +577,7 @@ print_folders(void) if (fi[i].others) printf(";%*s (others)", curprinted ? 0 : curmsgdigits + 6, ""); - printf(".\n"); + printf("\n"); } } @@ -610,7 +587,7 @@ print_folders(void) if (ftotal > 0 || (all && !fshort && ftotal >= 0)) { if (all) printf("\n"); - printf("TOTAL = %d message%c in %d folder%s.\n", + printf("TOTAL = %d message%c in %d folder%s\n", total_msgs, total_msgs != 1 ? 's' : ' ', total_folders, total_folders != 1 ? "s" : ""); }