X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fcontext_del.c;h=96610506167041cdc2fd11d1ecf8bf75545df3c3;hp=702c15d0be52b6653c5b15b82a976ff2dd4f7f84;hb=e917512db8efcbf3b5b5baeb64b6d345fd3686db;hpb=1691e80890e5d8ba258c51c214a3e91880e1db2b diff --git a/sbr/context_del.c b/sbr/context_del.c index 702c15d..9661050 100644 --- a/sbr/context_del.c +++ b/sbr/context_del.c @@ -1,42 +1,40 @@ - /* - * 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 /* - * Delete a key/value pair from the context/profile list. - * Return 0 if key is found, else return 1. - */ +** Delete a key/value pair from the context/profile list. +** Return 0 if key is found, else return 1. +*/ int -context_del (char *key) +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 (!np->n_context) - admonish (NULL, "bug: context_del(key=\"%s\")", 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); - ctxflags |= CTXMOD; - return 0; + for (np = m_defs, pp = NULL; np; pp = np, np = np->n_next) { + if (!mh_strcasecmp(np->n_name, key)) { + if (!np->n_context) + admonish(NULL, "bug: context_del(key=\"%s\")", np->n_name); + if (pp) + pp->n_next = np->n_next; + else + m_defs = np->n_next; + mh_free0(&(np->n_name)); + if (np->n_field) + mh_free0(&(np->n_field)); + mh_free0(&np); + ctxflags |= CTXMOD; + return 0; + } } - } - return 1; + return 1; }