aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2018-01-22 21:40:18 +0200
committerArnold D. Robbins <arnold@skeeve.com>2018-01-22 21:40:18 +0200
commit521679e82cba143a0ac852cc7a246dea4d19cc56 (patch)
tree42886b04876fded4c63c5cad44432b44784ddcb1
parent27c4a44456fa4dbd4229c9ec92e7e2b39493a188 (diff)
parent65cb787de1bec838e1f5ba529656f9b0f4e23c37 (diff)
downloadegawk-521679e82cba143a0ac852cc7a246dea4d19cc56.tar.gz
egawk-521679e82cba143a0ac852cc7a246dea4d19cc56.tar.bz2
egawk-521679e82cba143a0ac852cc7a246dea4d19cc56.zip
Merge branch 'master' into feature/fix-comments
-rw-r--r--ChangeLog6
-rw-r--r--main.c8
2 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 9355653c..5c3b25b9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-01-22 Arnold D. Robbins <arnold@skeeve.com>
+
+ Fix the inplace tests on *BSD systems.
+
+ * main.c (main): Add O_APPEND flag to fileno(stderr).
+
2018-01-17 Arnold D. Robbins <arnold@skeeve.com>
* builtin.c (do_isarray): Check that tmp is Node_var
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