- * seq_add.c -- add message(s) to a sequence
- *
- * This code is Copyright (c) 2002, by the authors of nmh. See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** seq_add.c -- add message(s) to a sequence
+**
+** This code is Copyright (c) 2002, by the authors of nmh. See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
- * Add all the SELECTED messages to a (possibly new) sequence.
- *
- * If public == 1, make sequence public.
- * If public == 0, make sequence private.
- * If public == -1, leave the public/private bit alone for existing
- * sequences. For new sequences, set this bit based
- * on its readonly status.
- *
- * If error, return 0, else return 1.
- */
+** Add all the SELECTED messages to a (possibly new) sequence.
+**
+** If public == 1, make sequence public.
+** If public == 0, make sequence private.
+** If public == -1, leave the public/private bit alone for existing
+** sequences. For new sequences, set this bit based
+** on its readonly status.
+**
+** If error, return 0, else return 1.
+*/
-seq_addsel (struct msgs *mp, char *cp, int public, int zero)
+seq_addsel(struct msgs *mp, char *cp, int public, int zero)
- * We keep mp->curmsg and "cur" sequence in sync.
- * See seq_list() and seq_init().
- */
- if (!strcmp (current,cp))
+ ** We keep mp->curmsg and cur sequence in sync.
+ ** See seq_list() and seq_init().
+ */
+ if (strcmp(seq_cur, cp)==0)
- advise (NULL, "only %d sequences allowed (no room for %s)!", NUMATTRS, cp);
+ advise(NULL, "only %d sequences allowed (no room for %s)!", NUMATTRS, cp);
- if (!(mp->msgattrs[i] = strdup (cp))) {
- advise (NULL, "strdup failed");
+ if (!(mp->msgattrs[i] = strdup(cp))) {
+ advise(NULL, "strdup failed");
- * If sequence is new, or zero flag is set, then first
- * clear the bit for this sequence from all messages.
- */
+ ** If sequence is new, or zero flag is set, then first
+ ** clear the bit for this sequence from all messages.
+ */
- if (is_selected (mp, msgnum))
- add_sequence (mp, i, msgnum);
+ if (is_selected(mp, msgnum))
+ add_sequence(mp, i, msgnum);
- * If public == -1, then only set the
- * public/private bit for new sequences.
- */
- if (is_readonly (mp))
- make_seq_private (mp, i);
+ ** If public == -1, then only set the
+ ** public/private bit for new sequences.
+ */
+ if (is_readonly(mp))
+ make_seq_private(mp, i);
- * Add a message to a (possibly new) sequence.
- *
- * If public == 1, make sequence public.
- * If public == 0, make sequence private.
- * If public == -1, leave the public/private bit alone for existing
- * sequences. For new sequences, set this bit based
- * on its readonly status.
- *
- * If error, return 0, else return 1.
- */
+** Add a message to a (possibly new) sequence.
+**
+** If public == 1, make sequence public.
+** If public == 0, make sequence private.
+** If public == -1, leave the public/private bit alone for existing
+** sequences. For new sequences, set this bit based
+** on its readonly status.
+**
+** If error, return 0, else return 1.
+*/
-seq_addmsg (struct msgs *mp, char *cp, int msgnum, int public, int zero)
+seq_addmsg(struct msgs *mp, char *cp, int msgnum, int public, int zero)
- * keep mp->curmsg and msgattrs["cur"] in sync - see seq_list()
- */
- if (!strcmp (current,cp))
+ ** keep mp->curmsg and msgattrs[] of seq_cur in sync - see seq_list()
+ */
+ if (strcmp(seq_cur, cp)==0)
- advise (NULL, "only %d sequences allowed (no room for %s)!", NUMATTRS, cp);
+ advise(NULL, "only %d sequences allowed (no room for %s)!", NUMATTRS, cp);
- if (!(mp->msgattrs[i] = strdup (cp))) {
- advise (NULL, "strdup failed");
+ if (!(mp->msgattrs[i] = strdup(cp))) {
+ advise(NULL, "strdup failed");
- /*
- * 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. */
- /*
- * Now flip on the bit for this sequence
- * for this particular message.
- */
- add_sequence (mp, i, msgnum);
+ /* Set the bit for this sequence for this particular message. */
+ add_sequence(mp, i, msgnum);
- * If public == -1, then only set the
- * public/private bit for new sequences.
- */
- if (is_readonly (mp))
- make_seq_private (mp, i);
+ ** If public == -1, then only set the
+ ** public/private bit for new sequences.
+ */
+ if (is_readonly(mp))
+ make_seq_private(mp, i);