1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
/* seq_setprev.c -- set the Previous-Sequence
*
* 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 "h/mh.h"
#include "seq_setprev.h"
#include "context_find.h"
#include "brkstring.h"
#include "seq_add.h"
#include "utils.h"
#include "globals.h"
/*
* Add all the messages currently SELECTED to
* the Previous-Sequence. This way, when the next
* command is given, there is a convenient way to
* selected all the messages used in the previous
* command.
*/
void
seq_setprev (struct msgs *mp)
{
char **ap, *cp, *dp;
/*
* Get the list of sequences for Previous-Sequence
* and split them.
*/
if (!(cp = context_find(psequence)))
return;
dp = mh_xstrdup(cp);
if (!(ap = brkstring(dp, " ", "\n")) || !*ap) {
free(dp);
return;
}
/* Now add all SELECTED messages to each sequence */
for (; *ap; ap++)
seq_addsel (mp, *ap, -1, 1);
free (dp);
}
|