Alistair Leslie-Hughes : kernel32: Add GetConsoleFontSize stub.

Alexandre Julliard julliard at winehq.org
Wed Aug 22 14:04:20 CDT 2012


Module: wine
Branch: master
Commit: 53d73559499f698efa9340f66ceb4aa694e5c569
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=53d73559499f698efa9340f66ceb4aa694e5c569

Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date:   Mon Aug 20 14:45:03 2012 +1000

kernel32: Add GetConsoleFontSize stub.

---

 dlls/kernel32/console.c     |   29 +++++++++++++++++++++++++++++
 dlls/kernel32/kernel32.spec |    2 +-
 include/wincon.h            |   15 ++++++++++++++-
 3 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/dlls/kernel32/console.c b/dlls/kernel32/console.c
index 1881bac..d6d1414 100644
--- a/dlls/kernel32/console.c
+++ b/dlls/kernel32/console.c
@@ -3230,5 +3230,34 @@ BOOL WINAPI GetCurrentConsoleFont(HANDLE hConsole, BOOL maxwindow, LPCONSOLE_FON
     FIXME(": (%p, %d, %p) stub!\n", hConsole, maxwindow, fontinfo);
     SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     return FALSE;
+}
+
+#ifdef __i386__
+#undef GetConsoleFontSize
+DWORD WINAPI GetConsoleFontSize(HANDLE hConsole, DWORD font)
+{
+    union {
+        COORD c;
+        DWORD w;
+    } x;
+
+    FIXME(": (%p, %d) stub!\n", hConsole, font);
+    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+
+    x.c.X = 0;
+    x.c.Y = 0;
+    return x.w;
+}
+#endif /* defined(__i386__) */
+
 
+#ifndef __i386__
+COORD WINAPI GetConsoleFontSize(HANDLE hConsole, DWORD font)
+{
+    COORD c;
+    c.X = 80;
+    c.Y = 24;
+     FIXME(": (%p, %d) stub!\n", hConsole, font);
+    return c;
 }
+#endif /* defined(__i386__) */
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index b263818..f9f8685 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -475,7 +475,7 @@
 @ stub GetConsoleCursorMode
 @ stdcall GetConsoleDisplayMode(ptr)
 @ stub GetConsoleFontInfo
-@ stub GetConsoleFontSize
+@ stdcall GetConsoleFontSize(long long)
 @ stub GetConsoleHardwareState
 @ stdcall GetConsoleInputExeNameA(long ptr)
 @ stdcall GetConsoleInputExeNameW(long ptr)
diff --git a/include/wincon.h b/include/wincon.h
index 1cf9428..3418856 100644
--- a/include/wincon.h
+++ b/include/wincon.h
@@ -268,8 +268,21 @@ typedef struct tagINPUT_RECORD
 #ifdef __i386__
 /* Note: this should return a COORD, but calling convention for returning
  * structures is different between Windows and gcc on i386. */
+
+WINBASEAPI DWORD WINAPI GetConsoleFontSize(HANDLE, DWORD);
 WINBASEAPI DWORD WINAPI GetLargestConsoleWindowSize(HANDLE);
 
+static inline COORD __wine_GetConsoleFontSize_wrapper(HANDLE h, DWORD d)
+{
+    union {
+      COORD c;
+      DWORD dw;
+    } u;
+    u.dw = GetConsoleFontSize(h, d);
+    return u.c;
+}
+#define GetConsoleFontSize(h, d) __wine_GetConsoleFontSize_wrapper(h, d)
+
 static inline COORD __wine_GetLargestConsoleWindowSize_wrapper(HANDLE h)
 {
     union {
@@ -282,6 +295,7 @@ static inline COORD __wine_GetLargestConsoleWindowSize_wrapper(HANDLE h)
 #define GetLargestConsoleWindowSize(h) __wine_GetLargestConsoleWindowSize_wrapper(h)
 
 #else  /* __i386__ */
+WINBASEAPI COORD WINAPI GetConsoleFontSize(HANDLE, DWORD);
 WINBASEAPI COORD WINAPI GetLargestConsoleWindowSize(HANDLE);
 #endif  /* __i386__ */
 
@@ -316,7 +330,6 @@ WINBASEAPI DWORD WINAPI  GetConsoleAliasExesLengthW(VOID);
 WINBASEAPI UINT WINAPI   GetConsoleCP(VOID);
 WINBASEAPI BOOL WINAPI   GetConsoleCursorInfo( HANDLE,LPCONSOLE_CURSOR_INFO);
 WINBASEAPI BOOL WINAPI   GetConsoleDisplayMode(LPDWORD);
-WINBASEAPI COORD WINAPI  GetConsoleFontSize(HANDLE,DWORD);
 WINBASEAPI BOOL WINAPI   GetConsoleHistoryInfo(LPCONSOLE_HISTORY_INFO);
 WINBASEAPI BOOL WINAPI   GetConsoleInputExeNameA(DWORD,LPSTR);
 WINBASEAPI BOOL WINAPI   GetConsoleInputExeNameW(DWORD,LPWSTR);




More information about the wine-cvs mailing list