From: Ken Hornstein Date: Wed, 13 Feb 2013 20:53:13 +0000 (-0500) Subject: Clean up argument handling to fmttest, as a precursor to actually getting X-Git-Url: https://diplodocus.org/git/nmh/commitdiff_plain/5d0a239fc3496d71ec0e89da317b68f76fc777a2?ds=sidebyside;hp=--cc Clean up argument handling to fmttest, as a precursor to actually getting it done. --- 5d0a239fc3496d71ec0e89da317b68f76fc777a2 diff --git a/uip/fmttest.c b/uip/fmttest.c index 2abc2581..ecbc4481 100644 --- a/uip/fmttest.c +++ b/uip/fmttest.c @@ -58,11 +58,12 @@ static void litputc(char); int main (int argc, char **argv) { - char *cp, *form = NULL, *format = NULL; + char *cp, *form = NULL, *format = NULL, *folder = NULL; char buf[BUFSIZ], *nfs, **argp, **arguments; char **compargs = NULL; struct format *fmt; struct comp *cptr; + struct msgs_array msgs = { 0, 0, NULL }; int dump = 0, compp = 0, comppalloc = 0, i; int width = 0, bufsize = 0; int dat[5]; @@ -144,10 +145,13 @@ main (int argc, char **argv) } } - if (form) - adios (NULL, "only one form at a time!"); - else - form = cp; + if (*cp == '+' || *cp == '@') { + if (folder) + adios (NULL, "only one folder at a time!"); + else + folder = pluspath (cp); + } else + app_msgarg(&msgs, cp); } if (compargs) @@ -162,6 +166,10 @@ main (int argc, char **argv) * - The arguments are interpreted as folders/messages. */ + if (!dump && !compargs && msgs.size == 0) { + adios (NULL, "usage: [switches] [+folder] msgs...]", invo_name); + } + /* * Get new format string. Must be before chdir(). */