X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/5afa7072e3fe7fc42287e2149e1c23b363700795..9322ba2854211794c27fae9468768b80b767c211:/sbr/context_del.c diff --git a/sbr/context_del.c b/sbr/context_del.c index b38d8222..37cbce00 100644 --- a/sbr/context_del.c +++ b/sbr/context_del.c @@ -2,14 +2,13 @@ /* * context_del.c -- delete an entry from the context/profile list * - * $Id$ - * * 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 /* * Delete a key/value pair from the context/profile list. @@ -19,10 +18,10 @@ int context_del (char *key) { - register struct node *np, *pp; + 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 (np->n_name ? np->n_name : "", key ? key : "")) { if (!np->n_context) admonish (NULL, "bug: context_del(key=\"%s\")", np->n_name); if (pp) @@ -30,9 +29,8 @@ context_del (char *key) 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; }