From: mdw Date: Tue, 18 Oct 2005 08:44:02 +0000 (+0000) Subject: Actually implement the right transformation! X-Git-Tag: 2.0.4~18 X-Git-Url: https://git.distorted.org.uk/~mdw/mLib/commitdiff_plain/36b6fecc4670f4d351cd662a6772a5a196108ceb?ds=sidebyside Actually implement the right transformation! --- 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); }