X-Git-Url: https://git.distorted.org.uk/~mdw/mLib/blobdiff_plain/3bc429127d05ea3c84e3c151d53ad3546bea5e9b..36b6fecc4670f4d351cd662a6772a5a196108ceb:/fdflags.c 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); }