aboutsummaryrefslogtreecommitdiff
path: root/src/system/win9x
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2022-09-27 17:03:06 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2022-11-01 16:26:16 +0100
commit980858186149651df5543b6fc99a4f7db0cdd089 (patch)
treed347200b0a562d84df505097651ad0642f207fdd /src/system/win9x
parent39f50e601d395bbd2d78d0147ac530b756da2fff (diff)
downloadjancity-980858186149651df5543b6fc99a4f7db0cdd089.tar.gz
WIP
Diffstat (limited to 'src/system/win9x')
-rw-r--r--src/system/win9x/src/system.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/system/win9x/src/system.c b/src/system/win9x/src/system.c
new file mode 100644
index 0000000..dd2aa10
--- /dev/null
+++ b/src/system/win9x/src/system.c
@@ -0,0 +1,36 @@
+#include <system_private.h>
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+
+int system_init_os(void)
+{
+ /* Windows GUI applications do not print stderr or stdout anywhere.
+ * Therefore, it makes sense to redirect them to plaintext files. */
+ if (!(freopen("stderr.txt", "wb", stderr)))
+ {
+ fprintf(stderr, "%s: freopen(3) stderr failed: %s\n",
+ __func__, strerror(errno));
+ return -1;
+ }
+ else if (setvbuf(stderr, NULL, _IONBF, 0))
+ {
+ fprintf(stderr, "%s: setvbuf(3) stderr failed: %s\n",
+ __func__, strerror(errno));
+ return -1;
+ }
+ else if (!(freopen("stdout.txt", "wb", stdout)))
+ {
+ fprintf(stderr, "%s: freopen(3) stdout failed: %s\n",
+ __func__, strerror(errno));
+ return -1;
+ }
+ else if (setvbuf(stdout, NULL, _IONBF, 0))
+ {
+ fprintf(stderr, "%s: setvbuf(3) stdout failed: %s\n",
+ __func__, strerror(errno));
+ return -1;
+ }
+
+ return 0;
+}