check for (un)selection befor (un)set
[mmh] / sbr / m_convert.c
index 0a47568..d187a34 100644 (file)
@@ -36,16 +36,6 @@ static char *delimp;  /* delimiter pointer */
 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)
 {
@@ -74,7 +64,7 @@ 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;
        }
 
@@ -219,7 +209,7 @@ badelim:
        /* 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++;
                }
        }
@@ -420,7 +410,7 @@ attr(struct msgs *mp, char *cp)
                if (does_exist(mp, j)
                                && inverted ? !in_sequence(mp, i, j) :
                                in_sequence(mp, i, j)) {
-                       addtosel(mp, j);
+                       set_selected(mp, j);
                        found++;
 
                        /*