From df879c99ee77225dae7d75a7b7783224941a1e99 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Mon, 22 Jan 2018 21:38:54 +0200 Subject: Fix inplace tests on BSD systems. --- main.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'main.c') 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 -- cgit v1.2.3