X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fpick.c;h=9f4bf0f5746dfa502936bf5700bbe98df5f2dd3c;hp=d2f72efb768874137525e17cbd170bfabeb71bb9;hb=4885712264980e6cbc2039f9158027bee9213475;hpb=1691e80890e5d8ba258c51c214a3e91880e1db2b diff --git a/uip/pick.c b/uip/pick.c index d2f72ef..9f4bf0f 100644 --- a/uip/pick.c +++ b/uip/pick.c @@ -3,10 +3,14 @@ * pick.c -- search for messages by content * * $Id$ + * + * This code is Copyright (c) 2002, by the authors of nmh. See the + * COPYRIGHT file in the root directory of the nmh distribution for + * complete copyright information. */ #include -#include +#include #include /* @@ -64,11 +68,11 @@ static struct swit switches[] = { #define VERSIONSW 22 { "version", 0 }, #define HELPSW 23 - { "help", 4 }, + { "help", 0 }, { NULL, 0 } }; -static int listsw = 0; +static int listsw = -1; int @@ -111,6 +115,7 @@ main (int argc, char **argv) switch (smatch (cp, switches)) { case AMBIGSW: ambigsw (cp, switches); + listsw = 0; /* HACK */ done (1); case UNKWNSW: adios (NULL, "-%s unknown", cp); @@ -123,6 +128,7 @@ main (int argc, char **argv) done (1); case VERSIONSW: print_version(invo_name); + listsw = 0; /* HACK */ done (1); case CCSW: @@ -159,7 +165,6 @@ main (int argc, char **argv) if (seqp >= NUMATTRS) adios (NULL, "too many sequences (more than %d) specified", NUMATTRS); seqs[seqp++] = cp; - listsw = 0; continue; case PUBLSW: publicsw = 1; @@ -175,7 +180,7 @@ main (int argc, char **argv) continue; case LISTSW: - listsw++; + listsw = 1; continue; case NLISTSW: listsw = 0; @@ -236,10 +241,10 @@ main (int argc, char **argv) /* * If we aren't saving the results to a sequence, - * we need to list the results. + * we default to list the results. */ - if (seqp == 0) - listsw++; + if (listsw == -1) + listsw = !seqp; if (publicsw == 1 && is_readonly(mp)) adios (NULL, "folder %s is read-only, so -public not allowed", folder); @@ -303,14 +308,15 @@ main (int argc, char **argv) seq_save (mp); /* synchronize message sequences */ context_save (); /* save the context file */ folder_free (mp); /* free folder/message structure */ - done (0); + return done (0); } -void +int done (int status) { if (listsw && status && !isatty (fileno (stdout))) printf ("0\n"); exit (status); + return 1; /* dead code to satisfy the compiler */ }