diff options
author | Jakob Kaivo <jkk@ung.org> | 2024-06-03 13:56:25 -0400 |
---|---|---|
committer | Jakob Kaivo <jkk@ung.org> | 2024-06-03 13:56:25 -0400 |
commit | a686d047d79bdfc37c096a4fa350c37e4ccf3cf5 (patch) | |
tree | ca631b9095454a239211b6f676bdd3e0cb102156 /src/__main.c | |
parent | c575f269ed4a04f89d610b423cc43ce7bd6f008b (diff) |
add LC_CTYPE epoch and use separate CT_ categories and CTM_ masks to support detecting change of LC_CTYPE between calls to wctype()/iswctype() and wctrans()/towctrans()
Diffstat (limited to 'src/__main.c')
-rw-r--r-- | src/__main.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/__main.c b/src/__main.c index aac8317c..16fe3808 100644 --- a/src/__main.c +++ b/src/__main.c @@ -22,23 +22,31 @@ void __init_libc(void) } init = 1; - __stdin = stdin ? stdin : __stdio.FILES + 0; + __stdin = /* stdin ? stdin : */ __stdio.FILES + 0; __stdin->fd = 0; freopen(NULL, "r", __stdin); - __stdout = stdout ? stdout : __stdio.FILES + 1; + __stdout = /* stdout ? stdout : */ __stdio.FILES + 1; __stdout->fd = 1; freopen(NULL, "w", __stdout); - __stderr = stderr ? stderr : __stdio.FILES + 2; + __stderr = /* stderr ? stderr : */ __stdio.FILES + 2; __stderr->fd = 2; freopen(NULL, "w", __stderr); setvbuf(__stderr, NULL, _IONBF, 0); + + #if 0 && _POSIX_SOURCE + extern char **environ; + __stdlib.environ = environ; + #endif } void __main(int (*main)(int, char*[]), int argc, char **argv) { - environ = argv + argc + 1; + __stdlib.environ = argv + argc + 1; + #ifdef _POSIX_SOURCE + environ = __stdlib.environ; + #endif __init_libc(); exit(main(argc, argv)); |