X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fanno.c;h=0483dffc201510935e70116ab12459aea5cfda30;hb=5a12e4b0477d3ad699f5713682d26079f2792d17;hp=fe0d65f294d75c5dbe10ea2bfa7a56e41cb0f0c9;hpb=d54c8db8bdf01e8381890f7729bc0ef4a055ea11;p=mmh diff --git a/uip/anno.c b/uip/anno.c index fe0d65f..0483dff 100644 --- a/uip/anno.c +++ b/uip/anno.c @@ -26,25 +26,25 @@ static struct swit switches[] = { #define DATESW 1 { "date", 0 }, #define NDATESW 2 - { "nodate", 0 }, + { "nodate", 2 }, #define TEXTSW 3 { "text body", 0 }, #define VERSIONSW 4 - { "version", 0 }, + { "Version", 0 }, #define HELPSW 5 { "help", 0 }, #define LISTSW 6 - { "list", 1 }, + { "list", 0 }, #define DELETESW 7 - { "delete", 2 }, + { "delete", 0 }, #define NUMBERSW 8 - { "number", 2 }, + { "number", 0 }, #define APPENDSW 9 - { "append", 1 }, + { "append", 0 }, #define PRESERVESW 10 - { "preserve", 1 }, + { "preserve", 0 }, #define NOPRESERVESW 11 - { "nopreserve", 3 }, + { "nopreserve", 2 }, { NULL, 0 } }; @@ -74,9 +74,7 @@ main(int argc, char **argv) int append = 0; /* append annotations instead of default prepend */ int number = 0; /* delete specific number of like elements if set */ -#ifdef LOCALE setlocale(LC_ALL, ""); -#endif invo_name = mhbasename(argv[0]); context_read(); @@ -88,7 +86,8 @@ 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); @@ -97,10 +96,10 @@ main(int argc, char **argv) "%s [+folder] [msgs] [switches]", invo_name); print_help(buf, switches, 1); - done(1); + exit(0); case VERSIONSW: print_version(invo_name); - done(1); + exit(0); case DELETESW: /* delete annotations */ mode = MODE_DEL; @@ -188,7 +187,7 @@ main(int argc, char **argv) } } - if (file && (folder || !msgs.size)) { + if (file && (folder || msgs.size)) { adios(NULL, "Don't intermix files and messages."); } if (!datesw && !text) { @@ -204,7 +203,7 @@ main(int argc, char **argv) else annotate(file, comp, text, datesw, number, append, preserve); - done(0); + exit(0); } if (!msgs.size) @@ -225,9 +224,12 @@ main(int argc, char **argv) adios(NULL, "no messages in %s", folder); /* parse all the message ranges/sequences and set SELECTED */ - for (msgnum = 0; msgnum < msgs.size; msgnum++) - if (!m_convert(mp, msgs.msgs[msgnum])) - done(1); + for (msgnum = 0; msgnum < msgs.size; msgnum++) { + if (!m_convert(mp, msgs.msgs[msgnum])) { + /* sysexits.h EX_USAGE */ + exit(1); + } + } /* annotate all the SELECTED messages */ for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) { @@ -245,8 +247,7 @@ main(int argc, char **argv) seq_save(mp); folder_free(mp); context_save(); - done(0); - return 1; + return 0; } static void @@ -260,7 +261,8 @@ make_comp(unsigned char **ap) fflush(stdout); if (!fgets(buffer, sizeof buffer, stdin)) { - done(1); + /* sysexits.h EX_IOERR */ + exit(1); } *ap = trimcpy(buffer); } @@ -330,10 +332,7 @@ annolist(char *file, unsigned char *comp, int number) if (strncasecmp(field, comp, length)==0 && field[length] == ':') { - for (cp = field + length + 1; - *cp == ' ' || *cp == '\t'; cp++) { - continue; - } + cp = trim(field + length + 1); if (number) { printf("%d\t", count++); }