Fix uip/whom.c for C89 compatibility
[mmh] / sbr / seq_add.c
index 5d0987c..fd18a11 100644 (file)
@@ -24,7 +24,8 @@
 int
 seq_addsel(struct msgs *mp, char *cp, int public, int zero)
 {
-       int i, msgnum, new_seq = 1;
+       unsigned int i;
+       int msgnum, new_seq = 1;
 
        if (!seq_nameok(cp))
                return 0;
@@ -65,7 +66,7 @@ seq_addsel(struct msgs *mp, char *cp, int public, int zero)
        ** If sequence is new, or zero flag is set, then first
        ** clear the bit for this sequence from all messages.
        */
-       if (new_seq || zero) {
+       if (mp->nummsg>0 && (new_seq || zero)) {
                for (msgnum = mp->lowmsg; msgnum <= mp->hghmsg; msgnum++)
                        clear_sequence(mp, i, msgnum);
        }
@@ -116,7 +117,8 @@ seq_addsel(struct msgs *mp, char *cp, int public, int zero)
 int
 seq_addmsg(struct msgs *mp, char *cp, int msgnum, int public, int zero)
 {
-       int i, j, new_seq = 1;
+       unsigned int i;
+       int j, new_seq = 1;
 
        if (!seq_nameok(cp))
                return 0;
@@ -137,10 +139,8 @@ seq_addmsg(struct msgs *mp, char *cp, int msgnum, int public, int zero)
                }
        }
 
-       /*
-       ** If this is a new sequence, add a slot for it
-       */
        if (new_seq) {
+               /* If this is a new sequence, add a slot for it */
                if (i >= NUMATTRS) {
                        advise(NULL, "only %d sequences allowed (no room for %s)!", NUMATTRS, cp);
                        return 0;
@@ -152,24 +152,16 @@ seq_addmsg(struct msgs *mp, char *cp, int msgnum, int public, int zero)
                mp->msgattrs[i + 1] = NULL;
        }
 
-       /*
-       ** If sequence is new, or zero flag is set, then first
-       ** clear the bit for this sequence from all messages.
-       */
-       if (new_seq || zero) {
+       if (mp->nummsg>0 && (new_seq || zero)) {
+               /* Clear the bit for this sequence from all messages. */
                for (j = mp->lowmsg; j <= mp->hghmsg; j++)
                        clear_sequence(mp, i, j);
        }
 
-       /*
-       ** Now flip on the bit for this sequence
-       ** for this particular message.
-       */
+       /* Set the bit for this sequence for this particular message. */
        add_sequence(mp, i, msgnum);
 
-       /*
-       ** Set the public/private bit for this sequence.
-       */
+       /* Set the public/private bit for this sequence. */
        if (public == 1)
                make_seq_public(mp, i);
        else if (public == 0)