X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/6c42153ad9362cc676ea66563bf400d7511b3b68..9f1e781a5c2beb9df943c832300a3f5bee1e4ed3:/sbr/context_del.c diff --git a/sbr/context_del.c b/sbr/context_del.c index e55d683b..bd7ae70d 100644 --- a/sbr/context_del.c +++ b/sbr/context_del.c @@ -1,15 +1,13 @@ - -/* - * 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 * complete copyright information. */ -#include +#include "h/mh.h" +#include "error.h" +#include "h/utils.h" /* * Delete a key/value pair from the context/profile list. @@ -19,24 +17,20 @@ 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; + key = FENDNULL(key); 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), 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); + free(np->n_field); + free(np); ctxflags |= CTXMOD; return 0; }