aboutsummaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/main.c b/main.c
index 55983789..79782a81 100644
--- a/main.c
+++ b/main.c
@@ -246,6 +246,14 @@ main(int argc, char **argv)
if ((cp = getenv("GAWK_LOCALE_DIR")) != NULL)
locale_dir = cp;
+#if defined(F_GETFL) && defined(O_APPEND)
+ int flags = fcntl(fileno(stderr), F_GETFL, NULL);
+ if (flags >= 0 && (flags & O_APPEND) == 0) {
+ flags |= O_APPEND;
+ (void) fcntl(fileno(stderr), F_SETFL, flags);
+ }
+#endif
+
#if defined(LOCALEDEBUG)
initial_locale = locale;
#endif