X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/e6bb9ec43b332fd1a4b0faddbe3c9f2f2ee80dde..2b60a54adb3b0bf5a9b927708085492b816a6015:/sbr/seq_del.c diff --git a/sbr/seq_del.c b/sbr/seq_del.c index 97e35783..59e4050d 100644 --- a/sbr/seq_del.c +++ b/sbr/seq_del.c @@ -1,6 +1,4 @@ - -/* - * seq_del.c -- delete message(s) from a sequence +/* seq_del.c -- delete message(s) from 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 @@ -34,8 +32,8 @@ seq_delsel (struct msgs *mp, char *cp, int public, int zero) /* * Get the number for this sequence */ - for (i = 0; mp->msgattrs[i]; i++) { - if (!strcmp (mp->msgattrs[i], cp)) { + for (i = 0; i < svector_size (mp->msgattrs); i++) { + if (!strcmp (svector_at (mp->msgattrs, i), cp)) { new_seq = 0; break; } @@ -50,15 +48,10 @@ seq_delsel (struct msgs *mp, char *cp, int public, int zero) * create the sequence, if necessary */ 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"); + if (!(svector_push_back (mp->msgattrs, strdup (cp)))) { + inform("strdup failed"); return 0; } - mp->msgattrs[i + 1] = NULL; } /* * now add sequence bit to all existing messages @@ -71,7 +64,7 @@ seq_delsel (struct msgs *mp, char *cp, int public, int zero) } } else { if (new_seq) { - advise (NULL, "no such sequence as %s", cp); + inform("no such sequence as %s", cp); return 0; } } @@ -121,19 +114,19 @@ seq_delsel (struct msgs *mp, char *cp, int public, int zero) int seq_delmsg (struct msgs *mp, char *cp, int msgnum) { - int i; + size_t i; if (!seq_nameok (cp)) return 0; - for (i = 0; mp->msgattrs[i]; i++) { - if (!strcmp (mp->msgattrs[i], cp)) { + for (i = 0; i < svector_size (mp->msgattrs); i++) { + if (!strcmp (svector_at (mp->msgattrs, i), cp)) { clear_sequence (mp, i, msgnum); mp->msgflags |= SEQMOD; return 1; } } - advise (NULL, "no such sequence as %s", cp); + inform("no such sequence as %s", cp); return 0; }