]> git.lizzy.rs Git - rust.git/commitdiff
Correct definition of CONSOLE_SCREEN_BUFFER_INFO
authorLzu Tao <taolzu@gmail.com>
Fri, 5 Jul 2019 18:47:55 +0000 (18:47 +0000)
committerLzu Tao <taolzu@gmail.com>
Fri, 5 Jul 2019 18:47:55 +0000 (18:47 +0000)
src/libterm/win.rs

index 14ea68d3788785246dd8458622893daf57a387cd..f5c60ee3522765d19dd546b4ff6a552f21aac21d 100644 (file)
@@ -20,19 +20,36 @@ pub struct WinConsole<T> {
     background: color::Color,
 }
 
+type SHORT = i16;
 type WORD = u16;
 type DWORD = u32;
 type BOOL = i32;
 type HANDLE = *mut u8;
 
+#[allow(non_snake_case)]
+#[repr(C)]
+struct SMALL_RECT {
+    Left: SHORT,
+    Top: SHORT,
+    Right: SHORT,
+    Bottom: SHORT,
+}
+
+#[allow(non_snake_case)]
+#[repr(C)]
+struct COORD {
+    X: SHORT,
+    Y: SHORT,
+}
+
 #[allow(non_snake_case)]
 #[repr(C)]
 struct CONSOLE_SCREEN_BUFFER_INFO {
-    dwSize: [libc::c_short; 2],
-    dwCursorPosition: [libc::c_short; 2],
+    dwSize: COORD,
+    dwCursorPosition: COORD,
     wAttributes: WORD,
-    srWindow: [libc::c_short; 4],
-    dwMaximumWindowSize: [libc::c_short; 2],
+    srWindow: SMALL_RECT,
+    dwMaximumWindowSize: COORD,
 }
 
 #[allow(non_snake_case)]