Fix missing va_end call in uip/mhmisc.c
[mmh] / sbr / seq_setprev.c
1 /*
2 ** seq_setprev.c -- set the Previous-Sequence
3 **
4 ** This code is Copyright (c) 2002, by the authors of nmh.  See the
5 ** COPYRIGHT file in the root directory of the nmh distribution for
6 ** complete copyright information.
7 */
8
9 #include <h/mh.h>
10 #include <h/utils.h>
11
12 /*
13 ** Add all the messages currently SELECTED to
14 ** the Previous-Sequence.  This way, when the next
15 ** command is given, there is a convenient way to
16 ** selected all the messages used in the previous
17 ** command.
18 */
19
20 void
21 seq_setprev(struct msgs *mp)
22 {
23         char **ap, *cp, *dp;
24
25         /*
26         ** Get the list of sequences for Previous-Sequence
27         ** and split them.
28         */
29         if ((cp = context_find(psequence))) {
30                 dp = mh_xstrdup(cp);
31                 if (!(ap = brkstring(dp, " ", "\n")) || !*ap) {
32                         mh_free0(&dp);
33                         return;
34                 }
35         } else {
36                 return;
37         }
38
39         /* Now add all SELECTED messages to each sequence */
40         for (; *ap; ap++)
41                 seq_addsel(mp, *ap, -1, 1);
42
43         mh_free0(&dp);
44 }