make roken not provide environ, its really something that doesnt work in a multinames...
authorLove Hörnquist Åstrand <lha@kth.se>
Sun, 19 Oct 2008 04:57:42 +0000 (04:57 +0000)
committerLove Hörnquist Åstrand <lha@kth.se>
Sun, 19 Oct 2008 04:57:42 +0000 (04:57 +0000)
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@23943 ec53bebd-3082-4978-b11e-865c3cabbd6b

appl/login/env.c
appl/su/su.c
appl/telnet/telnet/commands.c
appl/telnet/telnetd/sys_term.c
lib/roken/environment.c
lib/roken/putenv.c
lib/roken/roken.h.in
lib/roken/simple_exec.c
lib/roken/unsetenv.c

index 6e9cfb91146ffcf9238017e3a12f9ec3ea0c2386..6e223e34c4ab2d41d24e87ca0c0de73926493c82 100644 (file)
@@ -69,6 +69,11 @@ add_env(const char *var, const char *value)
     extend_env(str);
 }
 
+#if !HAVE_DECL_ENVIRON
+extern char **environ;
+#endif
+
+
 void
 copy_env(void)
 {
index 54bc307f9db76ae272b6c58021877644aba0475e..552353380ca569a71d37bb118aef25328bd19836 100644 (file)
@@ -64,6 +64,10 @@ RCSID("$Id$");
 
 #include "supaths.h"
 
+#if !HAVE_DECL_ENVIRON
+extern char **environ;
+#endif
+
 int kerberos_flag = 1;
 int csh_f_flag;
 int full_login;
@@ -506,7 +510,7 @@ main(int argc, char **argv)
         if (ok == 5)
            krb5_start_session();
 #endif
-       execv(shell, args);
+       execve(shell, args, environ);
     }
 
     exit(1);
index 787d168cb1b03a21510ce73650c0e2fa89038578..ac6b54fb0d00cdf09a014d9569ad9c3cb1814fde 100644 (file)
@@ -1553,8 +1553,8 @@ env_find(unsigned char *var)
        return(NULL);
 }
 
-#ifdef IRIX4
-#define environ _environ
+#if !HAVE_DECL_ENVIRON
+extern char **environ;
 #endif
 
 void
index 6a35a77949a860bf56a9a2b4e38fa1fbc4780c1f..2a654b1138f7841d0ea022f073f937fef2ed32ff 100644 (file)
@@ -1186,7 +1186,9 @@ startslave(const char *host, const char *utmp_host,
 }
 
 char   *envinit[3];
+#if !HAVE_DECL_ENVIRON
 extern char **environ;
+#endif
 
 void
 init_env(void)
index 94ceedf9f865710b0af83fc1dc22c798e803cb8a..35f3c8b1b5925c272deade048f24b5efcd06928e 100644 (file)
@@ -63,7 +63,7 @@ find_var(char **env, char *assignment, size_t len)
  */
 
 static int
-rk_read_env_file(FILE *F, char ***env, int *assigned)
+read_env_file(FILE *F, char ***env, int *assigned)
 {
     int idx = 0;
     int i;
@@ -139,7 +139,7 @@ read_environment(const char *file, char ***env)
     if ((F = fopen(file, "r")) == NULL)
        return 0;
 
-    rk_read_env_file(F, env, &assigned);
+    read_env_file(F, env, &assigned);
     fclose(F);
     return assigned;
 }
index ea234694a274c820bf8f085e396da0456167a31b..eec2377f6feff7cef205dd082fe63aa1abb8f42e 100644 (file)
@@ -38,7 +38,9 @@ RCSID("$Id$");
 
 #include <stdlib.h>
 
+#if !HAVE_DECL_ENVIRON
 extern char **environ;
+#endif
 
 /*
  * putenv --
index 5231cbf653dc8ceceae90c67305e8c01a5dd2ff5..d71bee7b46af29c9d0c77d0901ce73aaa32d4d71 100644 (file)
@@ -444,10 +444,6 @@ extern int optind;
 extern int opterr;
 #endif
 
-#if !HAVE_DECL_ENVIRON
-extern char **environ;
-#endif
-
 #ifndef HAVE_GETIPNODEBYNAME
 struct hostent * ROKEN_LIB_FUNCTION
 getipnodebyname (const char *, int, int, int *);
index c99a993733beaae06c07b7ecf1435f3d91de4aa2..7060cb8d37dd52a0fe48d21dfa6429f2bc950a95 100644 (file)
@@ -51,6 +51,10 @@ RCSID("$Id$");
 
 #include "roken.h"
 
+#if !HAVE_DECL_ENVIRON
+extern char **environ;
+#endif
+
 #define EX_NOEXEC      126
 #define EX_NOTFOUND    127
 
index d7a09a50b78d64458941e0b8b0edbe2e90daf2b1..01dd789366cf5f545c6ef3692511a35becb5f163 100644 (file)
@@ -41,7 +41,9 @@ RCSID("$Id$");
 
 #include "roken.h"
 
+#if !HAVE_DECL_ENVIRON
 extern char **environ;
+#endif
 
 /*
  * unsetenv --