/*
* putenv.c -- (un)set an envariable
*
- * $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.
int unputenv (char *);
static int nvmatch (char *, char *);
+/* FIXME: These functions leak memory. No easy fix since they might not
+ * be malloc'd. Switch to setenv(3) and unsetenv(3). */
int
m_putenv (char *name, char *value)
{
- register int i;
- register char **ep, **nep, *cp;
-
- cp = mh_xmalloc ((size_t) (strlen (name) + strlen (value) + 2));
+ int i;
+ char **ep, **nep, *cp;
- sprintf (cp, "%s=%s", name, value);
+ cp = concat(name, "=", value, NULL);
for (ep = environ, i = 0; *ep; ep++, i++)
if (nvmatch (name, *ep)) {