X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fpick.c;h=6f450af20274a2dca1ef4e5bb7c522edf3fe35ec;hb=a59946091a8ee121ad89708efb0b719e0d1e179a;hp=7aa4870010d7eb01ba19cb544caf443a8407dc30;hpb=1ae9fa8a84998e44e0234543162e257815d7e972;p=mmh diff --git a/uip/pick.c b/uip/pick.c index 7aa4870..6f450af 100644 --- a/uip/pick.c +++ b/uip/pick.c @@ -2,8 +2,6 @@ /* * pick.c -- search for messages by content * - * $Id$ - * * This code is Copyright (c) 2002, 2008, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for * complete copyright information. @@ -47,21 +45,23 @@ static struct swit switches[] = { { "datefield field", 5 }, #define SEQSW 15 { "sequence name", 0 }, -#define PUBLSW 16 +#define NSEQSW 16 + { "nosequence", 0 }, +#define PUBLSW 17 { "public", 0 }, -#define NPUBLSW 17 +#define NPUBLSW 18 { "nopublic", 0 }, -#define ZEROSW 18 +#define ZEROSW 19 { "zero", 0 }, -#define NZEROSW 19 +#define NZEROSW 20 { "nozero", 0 }, -#define LISTSW 20 +#define LISTSW 21 { "list", 0 }, -#define NLISTSW 21 +#define NLISTSW 22 { "nolist", 0 }, -#define VERSIONSW 22 +#define VERSIONSW 23 { "version", 0 }, -#define HELPSW 23 +#define HELPSW 24 { "help", 0 }, { NULL, 0 } }; @@ -73,7 +73,8 @@ static void putzero_done (int) NORETURN; int main (int argc, char **argv) { - int publicsw = -1, zerosw = 1, seqp = 0, vecp = 0; + int publicsw = -1, zerosw = 1, vecp = 0; + size_t seqp = 0; int lo, hi, msgnum; char *maildir, *folder = NULL, buf[100]; char *cp, **argp, **arguments; @@ -114,11 +115,11 @@ main (int argc, char **argv) invo_name); print_help (buf, switches, 1); listsw = 0; /* HACK */ - done (1); + done (0); case VERSIONSW: print_version(invo_name); listsw = 0; /* HACK */ - done (1); + done (0); case CCSW: case DATESW: @@ -153,8 +154,15 @@ main (int argc, char **argv) /* check if too many sequences specified */ if (seqp >= NUMATTRS) adios (NULL, "too many sequences (more than %d) specified", NUMATTRS); + + if (!seq_nameok (cp)) + done (1); + seqs[seqp++] = cp; continue; + case NSEQSW: + seqp = 0; + continue; case PUBLSW: publicsw = 1; continue;