diff --git a/libc/stdio/stdio.cpp b/libc/stdio/stdio.cpp
index 2139621..16cbd55 100644
--- a/libc/stdio/stdio.cpp
+++ b/libc/stdio/stdio.cpp
@@ -426,7 +426,12 @@
   if (_EXT(fp)->_seek64 != nullptr) {
     return (*_EXT(fp)->_seek64)(fp->_cookie, offset, whence);
   } else if (fp->_seek != nullptr) {
-    return (*fp->_seek)(fp->_cookie, offset, whence);
+    off64_t result = (*fp->_seek)(fp->_cookie, offset, whence);
+#if !defined(__LP64__)
+    // Avoid sign extension if off64_t is larger than off_t.
+    if (result != -1) result &= 0xffffffff;
+#endif
+    return result;
   } else {
     errno = ESPIPE;
     return -1;
@@ -531,12 +536,12 @@
 
 int fgetpos(FILE* fp, fpos_t* pos) {
   *pos = ftello(fp);
-  return (*pos == -1);
+  return (*pos == -1) ? -1 : 0;
 }
 
 int fgetpos64(FILE* fp, fpos64_t* pos) {
   *pos = ftello64(fp);
-  return (*pos == -1);
+  return (*pos == -1) ? -1 : 0;
 }
 
 static FILE* __funopen(const void* cookie,
