X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fseq_add.c;h=fd18a117a15c24372df446534abcbc5ef0dba1d3;hp=5d0987ceea5fe1eb9379b9ba0e39a270146700e6;hb=6e9577f324bef90765a5edc02044eb111ec48072;hpb=d3ba09a465cb0e5fc9a74d0b152a7ed965f895cb diff --git a/sbr/seq_add.c b/sbr/seq_add.c index 5d0987c..fd18a11 100644 --- a/sbr/seq_add.c +++ b/sbr/seq_add.c @@ -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)