return (pIOSubSystem->pfnerrno());
}
+DllExport char ***
+win32_environ(void)
+{
+ return (pIOSubSystem->pfnenviron());
+}
+
/* the rest are the remapped stdio routines */
DllExport FILE *
win32_stderr(void)
return (&(errno));
}
+static char ***
+dummy_environ(void)
+{
+ return (&(_environ));
+}
+
/* the rest are the remapped stdio routines */
static FILE *
dummy_stderr(void)
WIN32_IOSUBSYSTEM win32stdio = {
12345678L, /* begin of structure; */
dummy_errno, /* (*pfunc_errno)(void); */
+ dummy_environ, /* (*pfunc_environ)(void); */
dummy_stdin, /* (*pfunc_stdin)(void); */
dummy_stdout, /* (*pfunc_stdout)(void); */
dummy_stderr, /* (*pfunc_stderr)(void); */
typedef struct {
int signature_begin;
int * (*pfnerrno)(void);
+char ***(*pfnenviron)(void);
FILE* (*pfnstdin)(void);
FILE* (*pfnstdout)(void);
FILE* (*pfnstderr)(void);
* function prototypes for our own win32io layer
*/
EXT int * win32_errno();
+EXT char *** win32_environ();
EXT FILE* win32_stdin(void);
EXT FILE* win32_stdout(void);
EXT FILE* win32_stderr(void);
*/
#ifndef WIN32IO_IS_STDIO
#undef errno
+#undef environ
#undef stderr
#undef stdin
#undef stdout
#define feof(f) win32_feof(f)
#define ferror(f) win32_ferror(f)
#define errno (*win32_errno())
+#define environ (*win32_environ())
#define strerror win32_strerror
/*