]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Wrapper.pm
(no commit message)
[ikiwiki.git] / IkiWiki / Wrapper.pm
index 830b0487734e352fe4b6c2585616c480d794713a..f175b4a0ba168242ebb8396d6608cdb001cb0b34 100644 (file)
@@ -101,7 +101,6 @@ EOF
 #include <string.h>
 #include <sys/file.h>
 
-extern char **environ;
 char *newenviron[$#envsave+6];
 int i=0;
 
@@ -121,8 +120,13 @@ $check_commit_hook
 $envsave
        newenviron[i++]="HOME=$ENV{HOME}";
        newenviron[i++]="WRAPPED_OPTIONS=$configstring";
-       newenviron[i]=NULL;
-       environ=newenviron;
+
+       if (clearenv() != 0) {
+               perror("clearenv");
+               exit(1);
+       }
+       for (; i>0; i--)
+               putenv(newenviron[i-1]);
 
        if (setregid(getegid(), -1) != 0 &&
            setregid(getegid(), -1) != 0) {