From 36b6fecc4670f4d351cd662a6772a5a196108ceb Mon Sep 17 00:00:00 2001 From: mdw Date: Tue, 18 Oct 2005 08:44:02 +0000 Subject: [PATCH] Actually implement the right transformation! --- fdflags.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fdflags.c b/fdflags.c index 6f401e4..6e0cb0e 100644 --- a/fdflags.c +++ b/fdflags.c @@ -59,14 +59,14 @@ int fdflags(int fd, unsigned fbic, unsigned fxor, if (fbic || fxor) { if ((f = fcntl(fd, F_GETFL)) == -1) return (-1); - ff = (f & fbic) ^ fxor; + ff = (f & ~fbic) ^ fxor; if (f != ff && fcntl(fd, F_SETFL, ff) == -1) return (-1); } if (fdbic || fdxor) { if ((f = fcntl(fd, F_GETFD)) == -1) return (-1); - ff = (f & fdbic) ^ fdxor; + ff = (f & ~fdbic) ^ fdxor; if (f != ff && fcntl(fd, F_SETFD, ff) == -1) return (-1); } -- 2.11.0