X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fseq_add.c;fp=sbr%2Fseq_add.c;h=fb56bb9c0181ae51813e619d19befdb9dd951203;hp=68fa7249b11761f6567777bc7e14f0033fadb1ce;hb=a485ed478abbd599d8c9aab48934e7a26733ecb1;hpb=f480c03187724e54e5391ee61b810827da319a6c diff --git a/sbr/seq_add.c b/sbr/seq_add.c index 68fa724..fb56bb9 100644 --- a/sbr/seq_add.c +++ b/sbr/seq_add.c @@ -1,4 +1,3 @@ - /* * seq_add.c -- add message(s) to a sequence * @@ -25,80 +24,80 @@ int seq_addsel (struct msgs *mp, char *cp, int public, int zero) { - int i, msgnum, new_seq = 1; - - if (!seq_nameok (cp)) - return 0; - - /* - * We keep mp->curmsg and "cur" sequence in sync. - * See seq_list() and seq_init(). - */ - if (!strcmp (current,cp)) - mp->curmsg = mp->hghsel; - - /* - * Get the number for this sequence - */ - for (i = 0; mp->msgattrs[i]; i++) { - if (!strcmp (mp->msgattrs[i], cp)) { - new_seq = 0; - break; + int i, msgnum, new_seq = 1; + + if (!seq_nameok (cp)) + return 0; + + /* + * We keep mp->curmsg and "cur" sequence in sync. + * See seq_list() and seq_init(). + */ + if (!strcmp (current,cp)) + mp->curmsg = mp->hghsel; + + /* + * Get the number for this sequence + */ + for (i = 0; mp->msgattrs[i]; i++) { + if (!strcmp (mp->msgattrs[i], cp)) { + new_seq = 0; + break; + } } - } - - /* - * If this is a new sequence, add a slot for it - */ - if (new_seq) { - if (i >= NUMATTRS) { - advise (NULL, "only %d sequences allowed (no room for %s)!", NUMATTRS, cp); - return 0; + + /* + * If this is a new sequence, add a slot for it + */ + if (new_seq) { + if (i >= NUMATTRS) { + advise (NULL, "only %d sequences allowed (no room for %s)!", NUMATTRS, cp); + return 0; + } + if (!(mp->msgattrs[i] = strdup (cp))) { + advise (NULL, "strdup failed"); + return 0; + } + mp->msgattrs[i + 1] = NULL; } - if (!(mp->msgattrs[i] = strdup (cp))) { - advise (NULL, "strdup failed"); - return 0; + + /* + * If sequence is new, or zero flag is set, then first + * clear the bit for this sequence from all messages. + */ + if (new_seq || zero) { + for (msgnum = mp->lowmsg; msgnum <= mp->hghmsg; msgnum++) + clear_sequence (mp, i, msgnum); } - 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) { - for (msgnum = mp->lowmsg; msgnum <= mp->hghmsg; msgnum++) - clear_sequence (mp, i, msgnum); - } - - /* - * Now flip on the bit for this sequence - * for all selected messages. - */ - for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) - if (is_selected (mp, msgnum)) - add_sequence (mp, i, msgnum); - - /* - * Set the public/private bit for this sequence. - */ - if (public == 1) - make_seq_public (mp, i); - else if (public == 0) - make_seq_private (mp, i); - else if (new_seq) { + /* - * If public == -1, then only set the - * public/private bit for new sequences. - */ - if (is_readonly (mp)) - make_seq_private (mp, i); - else - make_seq_public (mp, i); - } - - mp->msgflags |= SEQMOD; - return 1; + * Now flip on the bit for this sequence + * for all selected messages. + */ + for (msgnum = mp->lowsel; msgnum <= mp->hghsel; msgnum++) + if (is_selected (mp, msgnum)) + add_sequence (mp, i, msgnum); + + /* + * Set the public/private bit for this sequence. + */ + if (public == 1) + make_seq_public (mp, i); + else if (public == 0) + make_seq_private (mp, i); + else if (new_seq) { + /* + * If public == -1, then only set the + * public/private bit for new sequences. + */ + if (is_readonly (mp)) + make_seq_private (mp, i); + else + make_seq_public (mp, i); + } + + mp->msgflags |= SEQMOD; + return 1; } @@ -117,75 +116,75 @@ 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; - - if (!seq_nameok (cp)) - return 0; - - /* - * keep mp->curmsg and msgattrs["cur"] in sync - see seq_list() - */ - if (!strcmp (current,cp)) - mp->curmsg = msgnum; - - /* - * Get the number for this sequence - */ - for (i = 0; mp->msgattrs[i]; i++) { - if (!strcmp (mp->msgattrs[i], cp)) { - new_seq = 0; - break; + int i, j, new_seq = 1; + + if (!seq_nameok (cp)) + return 0; + + /* + * keep mp->curmsg and msgattrs["cur"] in sync - see seq_list() + */ + if (!strcmp (current,cp)) + mp->curmsg = msgnum; + + /* + * Get the number for this sequence + */ + for (i = 0; mp->msgattrs[i]; i++) { + if (!strcmp (mp->msgattrs[i], cp)) { + new_seq = 0; + break; + } } - } - - /* - * If this is a new sequence, add a slot for it - */ - if (new_seq) { - if (i >= NUMATTRS) { - advise (NULL, "only %d sequences allowed (no room for %s)!", NUMATTRS, cp); - return 0; + + /* + * If this is a new sequence, add a slot for it + */ + if (new_seq) { + if (i >= NUMATTRS) { + advise (NULL, "only %d sequences allowed (no room for %s)!", NUMATTRS, cp); + return 0; + } + if (!(mp->msgattrs[i] = strdup (cp))) { + advise (NULL, "strdup failed"); + return 0; + } + mp->msgattrs[i + 1] = NULL; } - if (!(mp->msgattrs[i] = strdup (cp))) { - advise (NULL, "strdup failed"); - return 0; + + /* + * If sequence is new, or zero flag is set, then first + * clear the bit for this sequence from all messages. + */ + if (new_seq || zero) { + for (j = mp->lowmsg; j <= mp->hghmsg; j++) + clear_sequence (mp, i, j); } - 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) { - 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. - */ - add_sequence (mp, i, msgnum); - - /* - * Set the public/private bit for this sequence. - */ - if (public == 1) - make_seq_public (mp, i); - else if (public == 0) - make_seq_private (mp, i); - else if (new_seq) { + /* - * If public == -1, then only set the - * public/private bit for new sequences. - */ - if (is_readonly (mp)) - make_seq_private (mp, i); - else - make_seq_public (mp, i); - } - - mp->msgflags |= SEQMOD; - return 1; + * Now flip on the bit for this sequence + * for this particular message. + */ + add_sequence (mp, i, msgnum); + + /* + * Set the public/private bit for this sequence. + */ + if (public == 1) + make_seq_public (mp, i); + else if (public == 0) + make_seq_private (mp, i); + else if (new_seq) { + /* + * If public == -1, then only set the + * public/private bit for new sequences. + */ + if (is_readonly (mp)) + make_seq_private (mp, i); + else + make_seq_public (mp, i); + } + + mp->msgflags |= SEQMOD; + return 1; }