X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/6c42153ad9362cc676ea66563bf400d7511b3b68..1dd139e04f59bbfa3a310c2776c4bb2e2fdf1fdd:/sbr/context_del.c diff --git a/sbr/context_del.c b/sbr/context_del.c index e55d683b..efe5e410 100644 --- a/sbr/context_del.c +++ b/sbr/context_del.c @@ -1,8 +1,4 @@ - -/* - * context_del.c -- delete an entry from the context/profile list - * - * $Id$ +/* context_del.c -- delete an entry from the context/profile list * * This code is Copyright (c) 2002, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for @@ -10,6 +6,7 @@ */ #include +#include /* * Delete a key/value pair from the context/profile list. @@ -19,24 +16,19 @@ int context_del (char *key) { - register struct node *np, *pp; - - /* sanity check - check that context has been read */ - if (defpath == NULL) - adios (NULL, "oops, context hasn't been read yet"); + struct node *np, *pp; for (np = m_defs, pp = NULL; np; pp = np, np = np->n_next) { - if (!strcasecmp (np->n_name, key)) { + if (!strcasecmp (FENDNULL(np->n_name), FENDNULL(key))) { if (!np->n_context) - admonish (NULL, "bug: context_del(key=\"%s\")", np->n_name); + inform("bug: context_del(key=\"%s\"), continuing...", np->n_name); if (pp) pp->n_next = np->n_next; else m_defs = np->n_next; free (np->n_name); - if (np->n_field) - free (np->n_field); - free ((char *) np); + mh_xfree(np->n_field); + free(np); ctxflags |= CTXMOD; return 0; }