diff --git a/src/system/kernel/fs/fd.cpp b/src/system/kernel/fs/fd.cpp index 53788598d1..af0adb3abd 100644 --- a/src/system/kernel/fs/fd.cpp +++ b/src/system/kernel/fs/fd.cpp @@ -819,7 +819,7 @@ common_user_vector_io(int fd, off_t pos, const iovec* userVecs, size_t count, else bytesTransferred += (ssize_t)length; - if (movePosition) + if (pos != -1) pos += length; if (length < vecs[i].iov_len) @@ -1095,7 +1095,7 @@ _kern_readv(int fd, off_t pos, const iovec* vecs, size_t count) else bytesRead += (ssize_t)length; - if (movePosition) + if (pos != -1) pos += vecs[i].iov_len; } @@ -1188,7 +1188,7 @@ _kern_writev(int fd, off_t pos, const iovec* vecs, size_t count) else bytesWritten += (ssize_t)length; - if (movePosition) + if (pos != -1) pos += vecs[i].iov_len; }