X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fcontext_replace.c;h=bfa3daf8b4160baecdf7dcdf3105603a26dd2aef;hp=bb49a90ab666474ba48c9778eccbee8fd98aea14;hb=641a9d953e86685f9ca2f3da72e9a94e5bcfd69e;hpb=ced6090a330d3d83d0bce709f756aa3d7d65fea4 diff --git a/sbr/context_replace.c b/sbr/context_replace.c index bb49a90..bfa3daf 100644 --- a/sbr/context_replace.c +++ b/sbr/context_replace.c @@ -11,19 +11,19 @@ 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;