X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fseq_add.c;h=b1228098dcaf14a48d3863e7680a5b14c036c679;hp=d8f019ab6f65e26653d7e136afeeb863b61f4ee8;hb=5f08476e3bc5c134ce57d924b01d1c1fcacd53db;hpb=714b5c530ece27ea2835a313013f5b770163403c diff --git a/sbr/seq_add.c b/sbr/seq_add.c index d8f019a..b122809 100644 --- a/sbr/seq_add.c +++ b/sbr/seq_add.c @@ -30,17 +30,17 @@ seq_addsel(struct msgs *mp, char *cp, int public, int zero) return 0; /* - ** We keep mp->curmsg and "cur" sequence in sync. + ** We keep mp->curmsg and cur sequence in sync. ** See seq_list() and seq_init(). */ - if (!strcmp(current,cp)) + if (strcmp(seq_cur, cp)==0) mp->curmsg = mp->hghsel; /* ** Get the number for this sequence */ for (i = 0; mp->msgattrs[i]; i++) { - if (!strcmp(mp->msgattrs[i], cp)) { + if (strcmp(mp->msgattrs[i], cp)==0) { new_seq = 0; break; } @@ -122,25 +122,23 @@ seq_addmsg(struct msgs *mp, char *cp, int msgnum, int public, int zero) return 0; /* - ** keep mp->curmsg and msgattrs["cur"] in sync - see seq_list() + ** keep mp->curmsg and msgattrs[] of seq_cur in sync - see seq_list() */ - if (!strcmp(current,cp)) + if (strcmp(seq_cur, cp)==0) mp->curmsg = msgnum; /* ** Get the number for this sequence */ for (i = 0; mp->msgattrs[i]; i++) { - if (!strcmp(mp->msgattrs[i], cp)) { + if (strcmp(mp->msgattrs[i], cp)==0) { new_seq = 0; break; } } - /* - ** 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 +150,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)