aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-stream-process.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/camel-stream-process.c')
-rw-r--r--camel/camel-stream-process.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/camel/camel-stream-process.c b/camel/camel-stream-process.c
index 6a48ae40d0..293cd2b69f 100644
--- a/camel/camel-stream-process.c
+++ b/camel/camel-stream-process.c
@@ -33,6 +33,7 @@
#include <sys/wait.h>
#include <fcntl.h>
#include <unistd.h>
+#include <stdlib.h>
#include <errno.h>
#include <limits.h>
#include <stdio.h>
@@ -224,18 +225,8 @@ do_exec_command (int fd, const char *command, char **env)
/* Set up child's environment. We _add_ to it, don't use execle,
because otherwise we'd destroy stuff like SSH_AUTH_SOCK etc. */
- for ( ; env && *env; env++) {
- char *eq = strchr (*env, '=');
-
- if (!eq) {
- unsetenv (*env);
- continue;
- }
-
- *eq++ = '\0';
-
- setenv (*env, eq, 1);
- }
+ for ( ; env && *env; env++)
+ putenv(*env);
execl ("/bin/sh", "/bin/sh", "-c", command, NULL);