From 4ced856b390722e44ad2f54a641637b96776f673 Mon Sep 17 00:00:00 2001
From: Jeremy Soller <jeremy@system76.com>
Date: Sun, 2 Dec 2018 12:04:15 -0700
Subject: [PATCH] Fix fseeko not flushing write buffer

---
 src/header/stdio/mod.rs | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/header/stdio/mod.rs b/src/header/stdio/mod.rs
index d5af2a350..e97aebdb5 100644
--- a/src/header/stdio/mod.rs
+++ b/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;
-- 
GitLab