diff options
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | m4/gettext.m4 | 2 | ||||
-rw-r--r-- | mutt_tunnel.c | 2 | ||||
-rw-r--r-- | pgp.c | 3 | ||||
-rw-r--r-- | protos.h | 4 | ||||
-rw-r--r-- | sendlib.c | 2 | ||||
-rw-r--r-- | setenv.c | 45 |
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); @@ -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; } @@ -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); @@ -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). */ -} |