]> diplodocus.org Git - nmh/blobdiff - sbr/putenv.c
Escape literal leading full stop in man/new.man.
[nmh] / sbr / putenv.c
index dd665141c802374597020debd7e4c655974d283f..5266d63ee65395a7acba2e1c448a825a3dc2c0ff 100644 (file)
@@ -19,16 +19,16 @@ int m_putenv (char *, char *);
 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;
+    int i;
+    char **ep, **nep, *cp;
 
-    cp = mh_xmalloc ((size_t) (strlen (name) + strlen (value) + 2));
-
-    sprintf (cp, "%s=%s", name, value);
+    cp = concat(name, "=", value, NULL);
 
     for (ep = environ, i = 0; *ep; ep++, i++)
        if (nvmatch (name, *ep)) {