diff options
Diffstat (limited to 'c/src/exec/libcsupport/src/fcntl.c')
-rw-r--r-- | c/src/exec/libcsupport/src/fcntl.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/c/src/exec/libcsupport/src/fcntl.c b/c/src/exec/libcsupport/src/fcntl.c index 05410eaff6..587726f885 100644 --- a/c/src/exec/libcsupport/src/fcntl.c +++ b/c/src/exec/libcsupport/src/fcntl.c @@ -131,10 +131,16 @@ int fcntl( ret = -1; break; } - if ((ret >= 0) && iop->handlers->fcntl) { - int err = (*iop->handlers->fcntl)( cmd, iop ); - if (err) { - errno = err; + if (ret >= 0) { + if (iop->handlers->fcntl) { + int err = (*iop->handlers->fcntl)( cmd, iop ); + if (err) { + errno = err; + ret = -1; + } + } + else { + errno = ENOTSUP; ret = -1; } } |