diff options
author | John (J5) Palmieri <johnp@redhat.com> | 2007-10-03 17:02:23 -0400 |
---|---|---|
committer | John (J5) Palmieri <johnp@redhat.com> | 2007-10-03 17:02:23 -0400 |
commit | adb0270edf6ffae2f2d9d319aed7737f85fa6ec2 (patch) | |
tree | 879da0dae988328427550e24be1d6b97f962fe22 | |
parent | 7d9d3fc031244bee29b5ac25e07f3e8e5b5dd97b (diff) |
fd.o bug #11872 fix clearenv for systems that do not have it
* patch from Brian Cameron <brian.cameron at sun.com>
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | dbus/dbus-sysdeps.c | 14 |
2 files changed, 14 insertions, 2 deletions
diff --git a/configure.in b/configure.in index ee0d40ba..34e653f8 100644 --- a/configure.in +++ b/configure.in @@ -586,7 +586,7 @@ fi AC_CHECK_LIB(socket,socket) AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)]) -AC_CHECK_FUNCS(vsnprintf vasprintf nanosleep usleep poll setenv unsetenv socketpair getgrouplist fpathconf setrlimit) +AC_CHECK_FUNCS(vsnprintf vasprintf nanosleep usleep poll setenv clearenv unsetenv socketpair getgrouplist fpathconf setrlimit) AC_MSG_CHECKING(for dirfd) AC_TRY_LINK([ diff --git a/dbus/dbus-sysdeps.c b/dbus/dbus-sysdeps.c index c76603a8..1a736e42 100644 --- a/dbus/dbus-sysdeps.c +++ b/dbus/dbus-sysdeps.c @@ -185,7 +185,19 @@ _dbus_getenv (const char *varname) dbus_bool_t _dbus_clearenv (void) { - return (clearenv () == 0); + dbus_bool_t rc = TRUE; + +#ifdef HAVE_CLEARENV + if (clearenv () != 0) + rc = FALSE; +#else + extern char **environ; + + if (environ != NULL) + environ[0] = NULL; +#endif + + return rc; } /* |