diff --git a/src/header/wchar/lookaheadreader.rs b/src/header/wchar/lookaheadreader.rs
new file mode 100644
index 0000000000..ddf36a63f5
--- /dev/null
+++ b/src/header/wchar/lookaheadreader.rs
@@ -0,0 +1,53 @@
+use super::{fseek_locked, ftell_locked, FILE, SEEK_SET};
+use crate::{
+ io::Read,
+ platform::types::{off_t, wint_t},
+};
+struct LookAheadBuffer {
+ buf: *const wint_t,
+ pos: isize,
+ look_ahead: isize,
+}
+impl LookAheadBuffer {
+ fn look_ahead(&mut self) -> Result