mh_xstrdup arguments now const
[mmh] / sbr / context_replace.c
index bb49a90..bfa3daf 100644 (file)
 
 
 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 (!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;
@@ -35,13 +35,13 @@ context_replace (char *key, char *value)
        ** 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;
@@ -53,11 +53,11 @@ context_replace (char *key, char *value)
        /*
        ** Else add this new entry at the end
        */
-       np->n_next = (struct node *) mh_xmalloc (sizeof(*np));
+       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;