Module: wine Branch: master Commit: 1f3c289a3098d99aeb3141ddc63d2421b0632bc8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=1f3c289a3098d99aeb3141ddc6...
Author: Detlef Riekenberg wine.dev@web.de Date: Tue Nov 28 00:49:54 2006 +0100
winspool: Implement AddPortA.
---
dlls/winspool.drv/info.c | 24 ++++++++++++++++++++++-- 1 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c index eb84e6f..bf7015c 100644 --- a/dlls/winspool.drv/info.c +++ b/dlls/winspool.drv/info.c @@ -5754,8 +5754,28 @@ BOOL WINAPI AbortPrinter( HANDLE hPrinte */ BOOL WINAPI AddPortA(LPSTR pName, HWND hWnd, LPSTR pMonitorName) { - FIXME("(%s, %p, %s), stub!\n",debugstr_a(pName),hWnd,debugstr_a(pMonitorName)); - return FALSE; + LPWSTR nameW = NULL; + LPWSTR monitorW = NULL; + DWORD len; + BOOL res; + + TRACE("(%s, %p, %s)\n",debugstr_a(pName), hWnd, debugstr_a(pMonitorName)); + + 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 (pMonitorName) { + len = MultiByteToWideChar(CP_ACP, 0, pMonitorName, -1, NULL, 0); + monitorW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)); + MultiByteToWideChar(CP_ACP, 0, pMonitorName, -1, monitorW, len); + } + res = AddPortW(nameW, hWnd, monitorW); + HeapFree(GetProcessHeap(), 0, nameW); + HeapFree(GetProcessHeap(), 0, monitorW); + return res; }
/******************************************************************************