summaryrefslogtreecommitdiff
path: root/src/__main.c
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2020-08-12 13:55:12 -0400
committerJakob Kaivo <jkk@ung.org>2020-08-12 13:55:12 -0400
commitc3f7489af9a3a93be968364c8cbb7bf600643605 (patch)
treecaaee1b100598bb6bce3854ee2be56b3abcda233 /src/__main.c
parentda692588c1f74f0e5ab5fe6e243b8cffcb812b1a (diff)
make environment available even without POSIX environ
Diffstat (limited to 'src/__main.c')
-rw-r--r--src/__main.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/__main.c b/src/__main.c
index 14e71594..a61cef86 100644
--- a/src/__main.c
+++ b/src/__main.c
@@ -2,6 +2,7 @@
#include "stdio.h"
#include "locale.h"
#include "stdio/_stdio.h"
+#include "stdlib/_stdlib.h"
#ifdef _POSIX_SOURCE
#define DEFAULT_LOCALE "POSIX"
@@ -20,8 +21,14 @@ static struct termios __tios;
void __main(int argc, char **argv)
{
extern int main(int, char*[]);
+
+ #ifdef _POSIX_SOURCE
extern char **environ;
environ = argv + argc + 1;
+ __stdlib.environ = environ;
+ #else
+ __stdlib.environ = argv + argc + 1;
+ #endif
stdin = __stdio.FILES + 0;
stdin->fd = 0;