From 23ccb80fcb325bd89e40508a57ff4ccedea6926d Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sun, 17 Feb 2013 14:24:39 -0500 Subject: consistently use the internal name __environ for environ patch by Jens Gustedt. previously, the intended policy was to use __environ in code that must conform to the ISO C namespace requirements, and environ elsewhere. this policy was not followed in practice anyway, making things confusing. on top of that, Jens reported that certain combinations of link-time optimization options were breaking with the inconsistent references; this seems to be a compiler or linker bug, but having it go away is a nice side effect of the changes made here. --- src/process/system.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/process/system.c') diff --git a/src/process/system.c b/src/process/system.c index 0aa34cd0..4232bef0 100644 --- a/src/process/system.c +++ b/src/process/system.c @@ -13,7 +13,7 @@ static void dummy_0() weak_alias(dummy_0, __acquire_ptc); weak_alias(dummy_0, __release_ptc); -extern char **environ; +extern char **__environ; int system(const char *cmd) { @@ -40,7 +40,7 @@ int system(const char *cmd) posix_spawnattr_setsigdefault(&attr, &reset); posix_spawnattr_setflags(&attr, POSIX_SPAWN_SETSIGDEF|POSIX_SPAWN_SETSIGMASK); ret = posix_spawn(&pid, "/bin/sh", 0, &attr, - (char *[]){"sh", "-c", (char *)cmd, 0}, environ); + (char *[]){"sh", "-c", (char *)cmd, 0}, __environ); posix_spawnattr_destroy(&attr); if (!ret) while (waitpid(pid, &status, 0)<0 && errno == EINTR); -- cgit v1.2.1