fix debugger tracking of shared libraries on mips with PIE main program
[musl] / src / env / clearenv.c
index a2475ce..db8e8e9 100644 (file)
@@ -1,9 +1,14 @@
+#define _GNU_SOURCE
 #include <stdlib.h>
+#include <unistd.h>
 
-extern char **__environ;
+static void dummy(char *old, char *new) {}
+weak_alias(dummy, __env_rm_add);
 
 int clearenv()
 {
-       __environ[0] = 0;
+       char **e = __environ;
+       __environ = 0;
+       if (e) while (*e) __env_rm_add(*e++, 0);
        return 0;
 }