Huw Davies : winspool: Forward SetPrinterA to SetPrinterW.

Alexandre Julliard julliard at winehq.org
Thu Apr 5 12:31:47 CDT 2012


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

Author: Huw Davies <huw at codeweavers.com>
Date:   Thu Apr  5 13:25:49 2012 +0100

winspool: Forward SetPrinterA to SetPrinterW.

---

 dlls/winspool.drv/info.c |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index b5a312f..9083d4d 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -2840,11 +2840,22 @@ BOOL WINAPI DeletePrinter(HANDLE hPrinter)
 /*****************************************************************************
  *          SetPrinterA  [WINSPOOL.@]
  */
-BOOL WINAPI SetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
-                           DWORD Command)
+BOOL WINAPI SetPrinterA( HANDLE printer, DWORD level, LPBYTE data, DWORD command )
 {
-    FIXME("(%p,%d,%p,%d): stub\n",hPrinter,Level,pPrinter,Command);
-    return FALSE;
+    BYTE *dataW = data;
+    BOOL ret;
+
+    if (level != 0)
+    {
+        dataW = printer_info_AtoW( data, level );
+        if (!dataW) return FALSE;
+    }
+
+    ret = SetPrinterW( printer, level, dataW, command );
+
+    if (dataW != data) free_printer_info( dataW, level );
+
+    return ret;
 }
 
 /*****************************************************************************




More information about the wine-cvs mailing list