summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac2
-rw-r--r--m4/gettext.m42
-rw-r--r--mutt_tunnel.c2
-rw-r--r--pgp.c3
-rw-r--r--protos.h4
-rw-r--r--sendlib.c2
-rw-r--r--setenv.c45
7 files changed, 4 insertions, 56 deletions
diff --git a/configure.ac b/configure.ac
index 4f41632a..00652991 100644
--- a/configure.ac
+++ b/configure.ac
@@ -374,7 +374,7 @@ AC_CHECK_TYPE(ssize_t, int)
AC_CHECK_FUNCS(fgetpos memmove setegid srand48 strerror)
-AC_REPLACE_FUNCS([setenv strcasecmp strdup strsep strtok_r wcscasecmp])
+AC_REPLACE_FUNCS([strcasecmp strdup strsep strtok_r wcscasecmp])
AC_REPLACE_FUNCS([strcasestr mkdtemp])
AC_CHECK_FUNC(getopt)
diff --git a/m4/gettext.m4 b/m4/gettext.m4
index b6d1648b..8d68d667 100644
--- a/m4/gettext.m4
+++ b/m4/gettext.m4
@@ -318,7 +318,7 @@ AC_DEFUN([MUTT_AM_GNU_GETTEXT],
AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
stdlib.h string.h unistd.h sys/param.h])
AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getcwd getegid geteuid \
-getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
+getgid getuid mempcpy munmap putenv setlocale stpcpy strchr strcasecmp \
strdup strtoul tsearch __argz_count __argz_stringify __argz_next])
MUTT_AM_ICONV
diff --git a/mutt_tunnel.c b/mutt_tunnel.c
index e199e07b..c1b5a346 100644
--- a/mutt_tunnel.c
+++ b/mutt_tunnel.c
@@ -106,7 +106,7 @@ static int tunnel_socket_open (CONNECTION *conn)
/* Don't let the subprocess think it can use the controlling tty */
setsid ();
- execl (EXECSHELL, "sh", "-c", Tunnel, NULL);
+ execle (EXECSHELL, "sh", "-c", Tunnel, NULL, mutt_envlist ());
_exit (127);
}
mutt_unblock_signals_system (1);
diff --git a/pgp.c b/pgp.c
index 653905f0..f2eabac3 100644
--- a/pgp.c
+++ b/pgp.c
@@ -114,10 +114,7 @@ int pgp_use_gpg_agent (void)
return 0;
if ((tty = ttyname(0)))
- {
- setenv("GPG_TTY", tty, 0);
mutt_envlist_set ("GPG_TTY", tty, 0);
- }
return 1;
}
diff --git a/protos.h b/protos.h
index 98cdbb2c..3336ef43 100644
--- a/protos.h
+++ b/protos.h
@@ -543,10 +543,6 @@ int ci_send_message (int, HEADER *, char *, CONTEXT *, HEADER *);
/* prototypes for compatibility functions */
-#ifndef HAVE_SETENV
-int setenv (const char *, const char *, int);
-#endif
-
#ifndef HAVE_STRCASECMP
int strcasecmp (char *, char *);
int strncasecmp (char *, char *, size_t);
diff --git a/sendlib.c b/sendlib.c
index 625af343..ad28de0d 100644
--- a/sendlib.c
+++ b/sendlib.c
@@ -2240,7 +2240,7 @@ send_msg (const char *path, char **args, const char *msg, char **tempfile)
_exit (S_ERR);
}
- execvp (path, args);
+ execvpe (path, args, mutt_envlist ());
_exit (S_ERR);
}
else if (pid == -1)
diff --git a/setenv.c b/setenv.c
deleted file mode 100644
index 36fe7def..00000000
--- a/setenv.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Replacement for a missing setenv.
-**
-** Written by Russ Allbery <rra@stanford.edu>
-** This work is hereby placed in the public domain by its author.
-**
-** Provides the same functionality as the standard library routine setenv
-** for those platforms that don't have it.
-*/
-
-#include "config.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-int
-setenv(const char *name, const char *value, int overwrite)
-{
- char *envstring;
-
- if (!overwrite && getenv(name) != NULL)
- return 0;
-
- /* Allocate memory for the environment string. We intentionally don't
- use concat here, or the xmalloc family of allocation routines, since
- the intention is to provide a replacement for the standard library
- function which sets errno and returns in the event of a memory
- allocation failure. */
- envstring = malloc(strlen(name) + 1 + strlen(value) + 1); /* __MEM_CHECKED__ */
- if (envstring == NULL)
- return -1;
-
- /* Build the environment string and add it to the environment using
- putenv. Systems without putenv lose, but XPG4 requires it. */
- strcpy(envstring, name); /* __STRCPY_CHECKED__ */
- strcat(envstring, "="); /* __STRCAT_CHECKED__ */
- strcat(envstring, value); /* __STRCAT_CHECKED__ */
- return putenv(envstring);
-
- /* Note that the memory allocated is not freed. This is intentional;
- many implementations of putenv assume that the string passed to
- putenv will never be freed and don't make a copy of it. Repeated use
- of this function will therefore leak memory, since most
- implementations of putenv also don't free strings removed from the
- environment (due to being overwritten). */
-}