X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fcontext_replace.c;h=bfa3daf8b4160baecdf7dcdf3105603a26dd2aef;hp=dbe1014aee952af28984e8c549d82a5066440dc3;hb=641a9d953e86685f9ca2f3da72e9a94e5bcfd69e;hpb=a485ed478abbd599d8c9aab48934e7a26733ecb1 diff --git a/sbr/context_replace.c b/sbr/context_replace.c index dbe1014..bfa3daf 100644 --- a/sbr/context_replace.c +++ b/sbr/context_replace.c @@ -1,29 +1,29 @@ /* - * context_replace.c -- add/replace an entry in 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. - */ +** context_replace.c -- add/replace an entry in 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 void -context_replace (char *key, char *value) +context_replace(char *key, char *value) { - register struct node *np; + struct node *np; /* - * If list is emtpy, allocate head of profile/context list. - */ + ** If list is emtpy, allocate head of profile/context list. + */ if (!m_defs) { - m_defs = (struct node *) mh_xmalloc (sizeof(*np)); + m_defs = mh_xcalloc(1, sizeof(*np)); np = m_defs; - np->n_name = getcpy (key); - np->n_field = getcpy (value); + np->n_name = mh_xstrdup(key); + np->n_field = mh_xstrdup(value); np->n_context = 1; np->n_next = NULL; ctxflags |= CTXMOD; @@ -31,17 +31,17 @@ context_replace (char *key, char *value) } /* - * Search list of context/profile entries for - * this key, and replace its value if found. - */ + ** Search list of context/profile entries for + ** this key, and replace its value if found. + */ for (np = m_defs;; np = np->n_next) { - if (!mh_strcasecmp (np->n_name, key)) { - if (strcmp (value, np->n_field)) { + if (!mh_strcasecmp(np->n_name, key)) { + if (strcmp(value, np->n_field)!=0) { if (!np->n_context) - admonish (NULL, "bug: context_replace(key=\"%s\",value=\"%s\")", key, value); + admonish(NULL, "bug: context_replace(key=\"%s\",value=\"%s\")", key, value); if (np->n_field) - free (np->n_field); - np->n_field = getcpy (value); + mh_free0(&(np->n_field)); + np->n_field = mh_xstrdup(value); ctxflags |= CTXMOD; } return; @@ -51,13 +51,13 @@ context_replace (char *key, char *value) } /* - * Else add this new entry at the end - */ - np->n_next = (struct node *) mh_xmalloc (sizeof(*np)); + ** Else add this new entry at the end + */ + np->n_next = mh_xcalloc(1, sizeof(*np)); np = np->n_next; - np->n_name = getcpy (key); - np->n_field = getcpy (value); + np->n_name = mh_xstrdup(key); + np->n_field = mh_xstrdup(value); np->n_context = 1; np->n_next = NULL; ctxflags |= CTXMOD;