X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/e6bb9ec43b332fd1a4b0faddbe3c9f2f2ee80dde..39a9d9d85d0f2289d8c1257251311b7cf959c700:/sbr/seq_del.c diff --git a/sbr/seq_del.c b/sbr/seq_del.c index 97e35783..57c1fa78 100644 --- a/sbr/seq_del.c +++ b/sbr/seq_del.c @@ -34,8 +34,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 +50,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); + if (!(svector_push_back (mp->msgattrs, strdup (cp)))) { + inform("strdup failed"); return 0; } - if (!(mp->msgattrs[i] = strdup (cp))) { - advise (NULL, "strdup failed"); - return 0; - } - mp->msgattrs[i + 1] = NULL; } /* * now add sequence bit to all existing messages @@ -71,7 +66,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 +116,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; }