From 1bb170208b975bf062b0487fa0431750aa2ff127 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 8 Mar 1999 21:38:56 +0000 Subject: Added support for F_GETFL and F_SETFL. --- c/src/exec/libcsupport/src/fcntl.c | 5 +++-- c/src/lib/libc/fcntl.c | 5 +++-- cpukit/libcsupport/src/fcntl.c | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/c/src/exec/libcsupport/src/fcntl.c b/c/src/exec/libcsupport/src/fcntl.c index 9359575e51..381df45f26 100644 --- a/c/src/exec/libcsupport/src/fcntl.c +++ b/c/src/exec/libcsupport/src/fcntl.c @@ -95,13 +95,14 @@ int fcntl( * XXX man page, only these flags can be added. */ - flags &= ~(O_APPEND | O_NONBLOCK); + flags = (iop->flags & ~(O_APPEND|O_NONBLOCK)) | + (flags & (O_APPEND|O_NONBLOCK)); /* * XXX If we are turning on append, should we seek to the end? */ - iop->flags |= flags; + iop->flags = flags; return 0; case F_GETLK: diff --git a/c/src/lib/libc/fcntl.c b/c/src/lib/libc/fcntl.c index 9359575e51..381df45f26 100644 --- a/c/src/lib/libc/fcntl.c +++ b/c/src/lib/libc/fcntl.c @@ -95,13 +95,14 @@ int fcntl( * XXX man page, only these flags can be added. */ - flags &= ~(O_APPEND | O_NONBLOCK); + flags = (iop->flags & ~(O_APPEND|O_NONBLOCK)) | + (flags & (O_APPEND|O_NONBLOCK)); /* * XXX If we are turning on append, should we seek to the end? */ - iop->flags |= flags; + iop->flags = flags; return 0; case F_GETLK: diff --git a/cpukit/libcsupport/src/fcntl.c b/cpukit/libcsupport/src/fcntl.c index 9359575e51..381df45f26 100644 --- a/cpukit/libcsupport/src/fcntl.c +++ b/cpukit/libcsupport/src/fcntl.c @@ -95,13 +95,14 @@ int fcntl( * XXX man page, only these flags can be added. */ - flags &= ~(O_APPEND | O_NONBLOCK); + flags = (iop->flags & ~(O_APPEND|O_NONBLOCK)) | + (flags & (O_APPEND|O_NONBLOCK)); /* * XXX If we are turning on append, should we seek to the end? */ - iop->flags |= flags; + iop->flags = flags; return 0; case F_GETLK: -- cgit v1.2.3