aboutsummaryrefslogtreecommitdiffstats
path: root/main.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2018-01-25 19:47:26 +0200
committerArnold D. Robbins <arnold@skeeve.com>2018-01-25 19:47:26 +0200
commit6c93e97d0f76cb688543943f64f6154be3927de5 (patch)
tree14a8e0c6ea74b912ae9e284c61fe350ad6303b9d /main.c
parent65cb787de1bec838e1f5ba529656f9b0f4e23c37 (diff)
parenteb3510d4e88710005ec1a9505755455523367682 (diff)
downloadegawk-6c93e97d0f76cb688543943f64f6154be3927de5.tar.gz
egawk-6c93e97d0f76cb688543943f64f6154be3927de5.tar.bz2
egawk-6c93e97d0f76cb688543943f64f6154be3927de5.zip
Merge branch 'gawk-4.2-stable'
Diffstat (limited to 'main.c')
-rw-r--r--main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/main.c b/main.c
index 79782a81..2860d246 100644
--- a/main.c
+++ b/main.c
@@ -247,6 +247,9 @@ main(int argc, char **argv)
locale_dir = cp;
#if defined(F_GETFL) && defined(O_APPEND)
+ // 1/2018: This is needed on modern BSD systems so that the
+ // inplace tests pass. I think it's a bug in those kernels
+ // but let's just work around it anyway.
int flags = fcntl(fileno(stderr), F_GETFL, NULL);
if (flags >= 0 && (flags & O_APPEND) == 0) {
flags |= O_APPEND;