]> diplodocus.org Git - nmh/commitdiff
Replace calls to m_putenv() with setenv(3).
authorRalph Corderoy <ralph@inputplus.co.uk>
Sun, 14 May 2017 21:56:52 +0000 (22:56 +0100)
committerRalph Corderoy <ralph@inputplus.co.uk>
Sun, 14 May 2017 21:56:52 +0000 (22:56 +0100)
h/prototypes.h
sbr/putenv.c
uip/send.c
uip/show.c
uip/slocal.c
uip/whatnowproc.c
uip/whatnowsbr.c

index 18b875868b9505c4f6d3af6ebed78639b4873a02..fa37c87e57198a6a9ad4c657300a476e202bcbbe 100644 (file)
@@ -256,7 +256,6 @@ int m_gmprot (void);
 char *m_maildir (char *);
 char *m_mailpath (char *);
 char *m_name (int);
 char *m_maildir (char *);
 char *m_mailpath (char *);
 char *m_name (int);
-int m_putenv (char *, char *);
 int m_rand (unsigned char *, size_t);
 char *m_mktemp(const char *, int *, FILE **);
 char *m_mktemp2(const char *, const char *, int *, FILE **);
 int m_rand (unsigned char *, size_t);
 char *m_mktemp(const char *, int *, FILE **);
 char *m_mktemp2(const char *, const char *, int *, FILE **);
index 93b94defb32a211c34566e17b8b9ea5f2330f611..d8fb56f3d5d91b4b4fa756d8e5fcb21c9ffd0d8e 100644 (file)
@@ -13,38 +13,12 @@ extern char **environ;
 /*
  * prototypes
  */
 /*
  * prototypes
  */
-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 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)
-{
-    int i;
-    char **ep, **nep, *cp;
-
-    cp = concat(name, "=", value, NULL);
-
-    for (ep = environ, i = 0; *ep; ep++, i++)
-       if (nvmatch (name, *ep)) {
-           *ep = cp;
-           return 0;
-       }
-
-    nep = (char **) mh_xmalloc ((size_t) ((i + 2) * sizeof(*nep)));
-
-    for (ep = environ, i = 0; *ep; nep[i++] = *ep++)
-       continue;
-    nep[i++] = cp;
-    nep[i] = NULL;
-    environ = nep;
-    return 0;
-}
-
-
 int
 unputenv (char *name)
 {
 int
 unputenv (char *name)
 {
index d284a8f4e990bccdd386e612f9b99055347bc63f..4df28271ea1e2fdb005faba1ea67debca36c509f 100644 (file)
@@ -381,7 +381,7 @@ go_to_it:
 
     if ((cp = getenv ("SIGNATURE")) == NULL || *cp == 0)
        if ((cp = context_find ("signature")) && *cp)
 
     if ((cp = getenv ("SIGNATURE")) == NULL || *cp == 0)
        if ((cp = context_find ("signature")) && *cp)
-           m_putenv ("SIGNATURE", cp);
+           setenv("SIGNATURE", cp, 1);
 
     for (msgnum = 0; msgnum < msgp; msgnum++)
        if (stat (msgs[msgnum], &st) == NOTOK)
 
     for (msgnum = 0; msgnum < msgp; msgnum++)
        if (stat (msgs[msgnum], &st) == NOTOK)
index 8ff381fb6e9fa5b70f63015fb4ad46182ab00be2..d5afcad18f45626886aa5359c5b6259ba6271041 100644 (file)
@@ -297,7 +297,7 @@ go_to_it: ;
     }
 
     if (folder && !draftsw && !file)
     }
 
     if (folder && !draftsw && !file)
-       m_putenv ("mhfolder", folder);
+       setenv("mhfolder", folder, 1);
 
     if (strcmp (r1bindex (proc, '/'), "cat") == 0) {
 
 
     if (strcmp (r1bindex (proc, '/'), "cat") == 0) {
 
index 1e044f5208369a4ecf2eb9d21f1edd84cf5a20ce..4174d4a00e3552f7c08b5f0364e57673ce11a617 100644 (file)
@@ -1093,9 +1093,9 @@ usr_pipe (int fd_arg, char *cmd, char *pgm, char **vec, int suppress)
            setpgid ((pid_t) 0, getpid ());     /* put in own process group */
 
            *environ = NULL;
            setpgid ((pid_t) 0, getpid ());     /* put in own process group */
 
            *environ = NULL;
-           m_putenv ("USER", pw->pw_name);
-           m_putenv ("HOME", pw->pw_dir);
-           m_putenv ("SHELL", pw->pw_shell);
+           setenv("USER", pw->pw_name, 1);
+           setenv("HOME", pw->pw_dir, 1);
+           setenv("SHELL", pw->pw_shell, 1);
 
            execvp (pgm, vec);
            _exit (-1);
 
            execvp (pgm, vec);
            _exit (-1);
index a0186f55b5c30f918d7fa1029286638745856218..600dd5b71c6692faf0bbc539e148cf6d82f59be3 100644 (file)
@@ -31,34 +31,36 @@ what_now (char *ed, int nedit, int use, char *file, char *altmsg, int dist,
     vec[vecp++] = r1bindex (whatnowproc, '/');
     vec[vecp] = NULL;
 
     vec[vecp++] = r1bindex (whatnowproc, '/');
     vec[vecp] = NULL;
 
-    m_putenv ("mhdraft", file);
+    setenv("mhdraft", file, 1);
     if (mp)
     if (mp)
-       m_putenv ("mhfolder", mp->foldpath);
+       setenv("mhfolder", mp->foldpath, 1);
     else
        unputenv ("mhfolder");
     if (altmsg) {
        if (mp == NULL || *altmsg == '/' || cwd == NULL)
     else
        unputenv ("mhfolder");
     if (altmsg) {
        if (mp == NULL || *altmsg == '/' || cwd == NULL)
-           m_putenv ("mhaltmsg", altmsg);
+           setenv("mhaltmsg", altmsg, 1);
        else {
            snprintf (buffer, sizeof(buffer), "%s/%s", mp->foldpath, altmsg);
        else {
            snprintf (buffer, sizeof(buffer), "%s/%s", mp->foldpath, altmsg);
-           m_putenv ("mhaltmsg", buffer);
+           setenv("mhaltmsg", buffer, 1);
        }
     } else {
        unputenv ("mhaltmsg");
     }
     if ((bp = getenv ("mhaltmsg")))/* XXX */
        }
     } else {
        unputenv ("mhaltmsg");
     }
     if ((bp = getenv ("mhaltmsg")))/* XXX */
-       m_putenv ("editalt", bp);
+       setenv("editalt", bp, 1);
     snprintf (buffer, sizeof(buffer), "%d", dist);
     snprintf (buffer, sizeof(buffer), "%d", dist);
-    m_putenv ("mhdist", buffer);
+    setenv("mhdist", buffer, 1);
     if (nedit) {
        unputenv ("mheditor");
     } else {
     if (nedit) {
        unputenv ("mheditor");
     } else {
-       m_putenv ("mheditor", ed ? ed : (ed = get_default_editor()));
+        if (!ed)
+            ed = get_default_editor();
+       setenv("mheditor", ed, 1);
     }
     snprintf (buffer, sizeof(buffer), "%d", use);
     }
     snprintf (buffer, sizeof(buffer), "%d", use);
-    m_putenv ("mhuse", buffer);
+    setenv("mhuse", buffer, 1);
     snprintf (buffer, sizeof(buffer), "%d", atfile);
     snprintf (buffer, sizeof(buffer), "%d", atfile);
-    m_putenv ("mhatfile", buffer);
+    setenv("mhatfile", buffer, 1);
 
     unputenv ("mhmessages");
     unputenv ("mhannotate");
 
     unputenv ("mhmessages");
     unputenv ("mhannotate");
@@ -87,10 +89,10 @@ what_now (char *ed, int nedit, int use, char *file, char *altmsg, int dist,
            }
        }
        if (found) {
            }
        }
        if (found) {
-           m_putenv ("mhmessages", buffer);
-           m_putenv ("mhannotate", text);
+           setenv("mhmessages", buffer, 1);
+           setenv("mhannotate", text, 1);
            snprintf (buffer, sizeof(buffer), "%d", inplace);
            snprintf (buffer, sizeof(buffer), "%d", inplace);
-           m_putenv ("mhinplace", buffer);
+           setenv("mhinplace", buffer, 1);
        }
     }
 
        }
     }
 
index 6c82e24dd1c445c52248d715f4199b6a9d42d85e..71daf43f3153f5ad54302bd71f9d381ebe57486d 100644 (file)
@@ -706,8 +706,8 @@ editfile (char **ed, char **arg, char *file, int use, struct msgs *mp,
            }
            if (altmsg) {
                if (mp)
            }
            if (altmsg) {
                if (mp)
-                   m_putenv ("mhfolder", mp->foldpath);
-               m_putenv ("editalt", altpath);
+                   setenv("mhfolder", mp->foldpath, 1);
+               setenv("editalt", altpath, 1);
            }
 
            vec = argsplit(*ed, &prog, &vecp);
            }
 
            vec = argsplit(*ed, &prog, &vecp);
@@ -1194,7 +1194,7 @@ sendit (char *sp, char **arg, char *file, int pushed)
 
     if ((cp = getenv ("SIGNATURE")) == NULL || *cp == 0)
        if ((cp = context_find ("signature")) && *cp)
 
     if ((cp = getenv ("SIGNATURE")) == NULL || *cp == 0)
        if ((cp = context_find ("signature")) && *cp)
-           m_putenv ("SIGNATURE", cp);
+           setenv("SIGNATURE", cp, 1);
 
     if ((annotext = getenv ("mhannotate")) == NULL || *annotext == 0)
        annotext = NULL;
 
     if ((annotext = getenv ("mhannotate")) == NULL || *annotext == 0)
        annotext = NULL;