Hans Leidekker : winspool.drv: Cast-qual warnings fix.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Oct 6 13:37:20 CDT 2006
Module: wine
Branch: master
Commit: ab85b653f51730e427de2558e5349d3d12ffb690
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ab85b653f51730e427de2558e5349d3d12ffb690
Author: Hans Leidekker <hans at it.vu.nl>
Date: Fri Oct 6 14:25:54 2006 +0200
winspool.drv: Cast-qual warnings fix.
---
dlls/winspool.drv/info.c | 31 ++++++++++++++++++++++---------
1 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index d340705..1cb3adc 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -3727,7 +3727,7 @@ BOOL WINAPI EnumPrintersA(DWORD dwType,
static BOOL WINSPOOL_GetDriverInfoFromReg(
HKEY hkeyDrivers,
LPWSTR DriverName,
- LPWSTR pEnvironment,
+ LPCWSTR pEnvironment,
DWORD Level,
LPBYTE ptr, /* DRIVER_INFO */
LPBYTE pDriverStrings, /* strings buffer */
@@ -3774,7 +3774,7 @@ static BOOL WINSPOOL_GetDriverInfoFromRe
((PDRIVER_INFO_2A) ptr)->cVersion = (GetVersion() & 0x80000000) ? 0 : 3; /* FIXME: add 1, 2 */
if(!pEnvironment)
- pEnvironment = (LPWSTR)DefaultEnvironmentW;
+ pEnvironment = DefaultEnvironmentW;
if(unicode)
size = (lstrlenW(pEnvironment) + 1) * sizeof(WCHAR);
else
@@ -6567,17 +6567,30 @@ end:
/*****************************************************************************
* StartDocDlgA [WINSPOOL.@]
*/
- LPSTR WINAPI StartDocDlgA( HANDLE hPrinter, DOCINFOA *doc )
+LPSTR WINAPI StartDocDlgA( HANDLE hPrinter, DOCINFOA *doc )
{
UNICODE_STRING usBuffer;
DOCINFOW docW;
LPWSTR retW;
+ LPWSTR docnameW = NULL, outputW = NULL, datatypeW = NULL;
LPSTR ret = NULL;
docW.cbSize = sizeof(docW);
- docW.lpszDocName = asciitounicode(&usBuffer, doc->lpszDocName);
- docW.lpszOutput = asciitounicode(&usBuffer, doc->lpszOutput);
- docW.lpszDatatype = asciitounicode(&usBuffer, doc->lpszDatatype);
+ if (doc->lpszDocName)
+ {
+ docnameW = asciitounicode(&usBuffer, doc->lpszDocName);
+ if (!(docW.lpszDocName = docnameW)) return NULL;
+ }
+ if (doc->lpszOutput)
+ {
+ outputW = asciitounicode(&usBuffer, doc->lpszOutput);
+ if (!(docW.lpszOutput = outputW)) return NULL;
+ }
+ if (doc->lpszDatatype)
+ {
+ datatypeW = asciitounicode(&usBuffer, doc->lpszDatatype);
+ if (!(docW.lpszDatatype = datatypeW)) return NULL;
+ }
docW.fwType = doc->fwType;
retW = StartDocDlgW(hPrinter, &docW);
@@ -6590,9 +6603,9 @@ end:
HeapFree(GetProcessHeap(), 0, retW);
}
- HeapFree(GetProcessHeap(), 0, (LPWSTR)docW.lpszDatatype);
- HeapFree(GetProcessHeap(), 0, (LPWSTR)docW.lpszOutput);
- HeapFree(GetProcessHeap(), 0, (LPWSTR)docW.lpszDocName);
+ HeapFree(GetProcessHeap(), 0, datatypeW);
+ HeapFree(GetProcessHeap(), 0, outputW);
+ HeapFree(GetProcessHeap(), 0, docnameW);
return ret;
}
More information about the wine-cvs
mailing list