Kaynağa Gözat

Fix fseeko not flushing write buffer

Jeremy Soller 6 yıl önce
ebeveyn
işleme
4ced856b39
1 değiştirilmiş dosya ile 5 ekleme ve 0 silme
  1. 5 0
      src/header/stdio/mod.rs

+ 5 - 0
src/header/stdio/mod.rs

@@ -484,6 +484,11 @@ pub unsafe extern "C" fn fseeko(stream: *mut FILE, mut off: off_t, whence: c_int
         off -= (stream.read_size - stream.read_pos) as off_t;
     }
 
+    // Flush write buffer before seek
+    if stream.flush().is_err() {
+        return -1;
+    }
+
     let err = Sys::lseek(*stream.file, off, whence);
     if err < 0 {
         return err as c_int;