static int m_conv(struct msgs *, char *, int);
static int attr(struct msgs *, char *);
-
-static void
-addtosel(struct msgs *mp, int msg)
-{
- if (is_selected(mp, msg)) {
- return; /* dont select twice */
- }
- set_selected(mp, msg);
-}
-
int
m_convert(struct msgs *mp, char *name)
{
** Also, it is available in any folder.
*/
if ((mp->msgflags & ALLOW_BEYOND) && strcmp(cp, seq_beyond)==0) {
- addtosel(mp, getbeyond(mp));
+ set_selected(mp, getbeyond(mp));
return 1;
}
/* Cycle through the range and select the messages that exist. */
for (found=0; first <= last; first++) {
if (does_exist(mp, first)) {
- addtosel(mp, first);
+ set_selected(mp, first);
found++;
}
}
if (does_exist(mp, j)
&& inverted ? !in_sequence(mp, i, j) :
in_sequence(mp, i, j)) {
- addtosel(mp, j);
+ set_selected(mp, j);
found++;
/*
set_selected(struct msgs *mp, int msgnum)
{
assert_msg_range(mp, msgnum);
+
+ if (is_selected(mp, msgnum)) {
+ return;
+ }
+
mp->msgstats[msgnum - mp->lowoff] |= SELECTED;
if (mp->lowsel == 0 || msgnum < mp->lowsel) {
mp->lowsel = msgnum;
unset_selected(struct msgs *mp, int msgnum)
{
assert_msg_range(mp, msgnum);
+
+ if (!is_selected(mp, msgnum)) {
+ return;
+ }
+
mp->msgstats[msgnum - mp->lowoff] &= ~SELECTED;
if (mp->numsel > 0) {
mp->numsel--;