WIP: fflush all files when null is passed

This commit is contained in:
Jeremy Soller
2018-12-02 16:45:29 -07:00
parent 05f17794e4
commit 925d9f6bbf
+18 -2
View File
@@ -251,8 +251,24 @@ pub unsafe extern "C" fn ferror(stream: *mut FILE) -> c_int {
/// itself.
#[no_mangle]
pub unsafe extern "C" fn fflush(stream: *mut FILE) -> c_int {
let mut stream = (*stream).lock();
stream.flush().is_err() as c_int
if stream.is_null() {
//TODO: flush all files!
if fflush(stdout) != 0 {
return EOF;
}
if fflush(stderr) != 0 {
return EOF;
}
} else {
let mut stream = (*stream).lock();
if stream.flush().is_err() {
return EOF;
}
}
0
}
/// Get a single char from a stream