int ssequal (const char *, const char *);
int stringdex (char *, char *);
char *trimcpy (char *);
-int unputenv (char *);
/*
* Remove quotes and quoted-pair sequences from RFC-5322 atoms.
+++ /dev/null
-/* putenv.c -- (un)set an envariable
- *
- * 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 <h/mh.h>
-#include <h/utils.h>
-
-extern char **environ;
-
-/*
- * prototypes
- */
-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
-unputenv (char *name)
-{
- char **ep, **nep;
-
- for (ep = environ; *ep; ep++)
- if (nvmatch (name, *ep))
- break;
- if (*ep == NULL)
- return 1;
-
- for (nep = ep + 1; *nep; nep++)
- continue;
- *ep = *--nep;
- *nep = NULL;
- return 0;
-}
-
-
-static int
-nvmatch (char *s1, char *s2)
-{
- while (*s1 == *s2++)
- if (*s1++ == '=')
- return 1;
-
- return (*s1 == '\0' && *--s2 == '=');
-}
if (mp)
setenv("mhfolder", mp->foldpath, 1);
else
- unputenv ("mhfolder");
+ unsetenv("mhfolder");
if (altmsg) {
if (mp == NULL || *altmsg == '/' || cwd == NULL)
setenv("mhaltmsg", altmsg, 1);
setenv("mhaltmsg", buffer, 1);
}
} else {
- unputenv ("mhaltmsg");
+ unsetenv("mhaltmsg");
}
if ((bp = getenv ("mhaltmsg")))/* XXX */
setenv("editalt", bp, 1);
snprintf (buffer, sizeof(buffer), "%d", dist);
setenv("mhdist", buffer, 1);
if (nedit) {
- unputenv ("mheditor");
+ unsetenv("mheditor");
} else {
if (!ed)
ed = get_default_editor();
snprintf (buffer, sizeof(buffer), "%d", atfile);
setenv("mhatfile", buffer, 1);
- unputenv ("mhmessages");
- unputenv ("mhannotate");
- unputenv ("mhinplace");
+ unsetenv("mhmessages");
+ unsetenv("mhannotate");
+ unsetenv("mhinplace");
if (text && mp && !is_readonly(mp)) {
found = 0;