[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-devel
Subject: [PATCH] winspool.drv: Implement AddPrintProcessorA via AddPrintProcessorW
From: Vijay Kiran Kamuju <infyquest () gmail ! com>
Date: 2020-05-31 21:07:11
Message-ID: CACfa+K+QvhVhtOeGDp_uEh8C5p3OmFnLK0LADrUG5uZCn_=KAA () mail ! gmail ! com
[Download RAW message or body]
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26171
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
["0001-winspool.drv-Implement-AddPrintProcessorA-via-AddPri.patch" (text/x-patch)]
From 380c638059d2d824d6a96f52b611c3a9bbb5286d Mon Sep 17 00:00:00 2001
From: Vijay Kiran Kamuju <infyquest@gmail.com>
Date: Sun, 31 May 2020 22:59:33 +0200
Subject: [PATCH] winspool.drv: Implement AddPrintProcessorA via
AddPrintProcessorW
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26171
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
---
dlls/winspool.drv/info.c | 41 +++++++++++++++++++++++++++++++++++++++-
1 file changed, 40 insertions(+), 1 deletion(-)
diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index 593f091c2d..7bd6635891 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -5403,9 +5403,48 @@ BOOL WINAPI AddPrinterDriverW(LPWSTR pName, DWORD level, LPBYTE pDriverInfo)
BOOL WINAPI AddPrintProcessorA(LPSTR pName, LPSTR pEnvironment, LPSTR pPathName,
LPSTR pPrintProcessorName)
{
+ LPWSTR nameW = NULL;
+ LPWSTR envW = NULL;
+ LPWSTR pathW = NULL;
+ LPWSTR processorW = NULL;
+ INT len;
+ BOOL ret;
+
FIXME("(%s,%s,%s,%s): stub\n", debugstr_a(pName), debugstr_a(pEnvironment),
debugstr_a(pPathName), debugstr_a(pPrintProcessorName));
- return FALSE;
+
+ if (pName) {
+ len = MultiByteToWideChar(CP_ACP, 0, pName, -1, NULL, 0);
+ nameW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+ MultiByteToWideChar(CP_ACP, 0, pName, -1, nameW, len);
+ }
+
+ if (pEnvironment) {
+ len = MultiByteToWideChar(CP_ACP, 0, pEnvironment, -1, NULL, 0);
+ envW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+ MultiByteToWideChar(CP_ACP, 0, pEnvironment, -1, envW, len);
+ }
+
+ if (pPathName) {
+ len = MultiByteToWideChar(CP_ACP, 0, pPathName, -1, NULL, 0);
+ pathW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+ MultiByteToWideChar(CP_ACP, 0, pPathName, -1, pathW, len);
+ }
+
+ if (pPrintProcessorName) {
+ len = MultiByteToWideChar(CP_ACP, 0, pPrintProcessorName, -1, NULL, 0);
+ processorW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+ MultiByteToWideChar(CP_ACP, 0, pPrintProcessorName, -1, processorW, len);
+ }
+
+ ret = AddPrintProcessorW(nameW, envW, pathW, processorW);
+
+ HeapFree(GetProcessHeap(), 0, nameW);
+ HeapFree(GetProcessHeap(), 0, envW);
+ HeapFree(GetProcessHeap(), 0, pathW);
+ HeapFree(GetProcessHeap(), 0, processorW);
+
+ return ret;
}
/*****************************************************************************
--
2.26.2
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic