Remove references to HEAP_strdupAtoW.
This commit is contained in:
parent
4d6a47a268
commit
f92deed281
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Implementation of the Microsoft Installer (msi.dll)
|
* Implementation of the Microsoft Installer (msi.dll)
|
||||||
*
|
*
|
||||||
* Copyright 2002 Mike McCormack for CodeWeavers
|
* Copyright 2002,2003 Mike McCormack for CodeWeavers
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -25,6 +25,7 @@
|
||||||
#include "windef.h"
|
#include "windef.h"
|
||||||
#include "winbase.h"
|
#include "winbase.h"
|
||||||
#include "winreg.h"
|
#include "winreg.h"
|
||||||
|
#include "winnls.h"
|
||||||
#include "shlwapi.h"
|
#include "shlwapi.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
#include "msi.h"
|
#include "msi.h"
|
||||||
|
@ -135,21 +136,26 @@ UINT WINAPI MsiOpenDatabaseA(
|
||||||
{
|
{
|
||||||
HRESULT r = ERROR_FUNCTION_FAILED;
|
HRESULT r = ERROR_FUNCTION_FAILED;
|
||||||
LPWSTR szwDBPath = NULL, szwPersist = NULL;
|
LPWSTR szwDBPath = NULL, szwPersist = NULL;
|
||||||
|
UINT len;
|
||||||
|
|
||||||
TRACE("%s %s %p\n", debugstr_a(szDBPath), debugstr_a(szPersist), phDB);
|
TRACE("%s %s %p\n", debugstr_a(szDBPath), debugstr_a(szPersist), phDB);
|
||||||
|
|
||||||
if( szDBPath )
|
if( szDBPath )
|
||||||
{
|
{
|
||||||
szwDBPath = HEAP_strdupAtoW( GetProcessHeap(), 0, szDBPath );
|
len = MultiByteToWideChar( CP_ACP, 0, szDBPath, -1, NULL, 0 );
|
||||||
|
szwDBPath = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
|
||||||
if( !szwDBPath )
|
if( !szwDBPath )
|
||||||
goto end;
|
goto end;
|
||||||
|
MultiByteToWideChar( CP_ACP, 0, szDBPath, -1, szwDBPath, len );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( szPersist )
|
if( szPersist )
|
||||||
{
|
{
|
||||||
szwPersist = HEAP_strdupAtoW( GetProcessHeap(), 0, szPersist );
|
len = MultiByteToWideChar( CP_ACP, 0, szPersist, -1, NULL, 0 );
|
||||||
|
szwPersist = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
|
||||||
if( !szwPersist )
|
if( !szwPersist )
|
||||||
goto end;
|
goto end;
|
||||||
|
MultiByteToWideChar( CP_ACP, 0, szPersist, -1, szwPersist, len );
|
||||||
}
|
}
|
||||||
|
|
||||||
r = MsiOpenDatabaseW( szwDBPath, szwPersist, phDB );
|
r = MsiOpenDatabaseW( szwDBPath, szwPersist, phDB );
|
||||||
|
@ -287,16 +293,20 @@ UINT WINAPI MsiInstallProductA(LPCSTR szPackagePath, LPCSTR szCommandLine)
|
||||||
|
|
||||||
if( szPackagePath )
|
if( szPackagePath )
|
||||||
{
|
{
|
||||||
szwPath = HEAP_strdupAtoW(GetProcessHeap(),0,szPackagePath);
|
UINT len = MultiByteToWideChar( CP_ACP, 0, szPackagePath, -1, NULL, 0 );
|
||||||
if( szwPath == NULL )
|
szwPath = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
|
||||||
goto end;
|
if( !szwPath )
|
||||||
|
goto end;
|
||||||
|
MultiByteToWideChar( CP_ACP, 0, szPackagePath, -1, szwPath, len );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( szCommandLine )
|
if( szCommandLine )
|
||||||
{
|
{
|
||||||
szwCommand = HEAP_strdupAtoW(GetProcessHeap(),0,szCommandLine);
|
UINT len = MultiByteToWideChar( CP_ACP, 0, szCommandLine, -1, NULL, 0 );
|
||||||
if( szwCommand == NULL )
|
szwCommand = HeapAlloc( GetProcessHeap(), 0, len * sizeof(WCHAR) );
|
||||||
goto end;
|
if( !szwCommand )
|
||||||
|
goto end;
|
||||||
|
MultiByteToWideChar( CP_ACP, 0, szCommandLine, -1, szwCommand, len );
|
||||||
}
|
}
|
||||||
|
|
||||||
r = MsiInstallProductW( szwPath, szwCommand );
|
r = MsiInstallProductW( szwPath, szwCommand );
|
||||||
|
@ -478,13 +488,15 @@ UINT WINAPI MsiEnumFeaturesA(LPCSTR szProduct, DWORD index,
|
||||||
|
|
||||||
if( szProduct )
|
if( szProduct )
|
||||||
{
|
{
|
||||||
szwProduct = HEAP_strdupAtoW(GetProcessHeap(),0,szProduct);
|
UINT len = MultiByteToWideChar( CP_ACP, 0, szProduct, -1, NULL, 0 );
|
||||||
if( !szwProduct )
|
szwProduct = HeapAlloc( GetProcessHeap(), 0, len * sizeof (WCHAR) );
|
||||||
|
if( szwProduct )
|
||||||
|
MultiByteToWideChar( CP_ACP, 0, szProduct, -1, szwProduct, len );
|
||||||
|
else
|
||||||
return ERROR_FUNCTION_FAILED;
|
return ERROR_FUNCTION_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = MsiEnumFeaturesW(szProduct?szwProduct:NULL,
|
r = MsiEnumFeaturesW(szwProduct, index, szwFeature, szwParent);
|
||||||
index, szwFeature, szwParent);
|
|
||||||
if( r == ERROR_SUCCESS )
|
if( r == ERROR_SUCCESS )
|
||||||
{
|
{
|
||||||
WideCharToMultiByte(CP_ACP, 0, szwFeature, -1,
|
WideCharToMultiByte(CP_ACP, 0, szwFeature, -1,
|
||||||
|
@ -591,8 +603,11 @@ UINT WINAPI MsiEnumClientsA(LPCSTR szComponent, DWORD index, LPSTR szProduct)
|
||||||
|
|
||||||
if( szComponent )
|
if( szComponent )
|
||||||
{
|
{
|
||||||
szwComponent = HEAP_strdupAtoW(GetProcessHeap(),0,szComponent);
|
UINT len = MultiByteToWideChar( CP_ACP, 0, szComponent, -1, NULL, 0 );
|
||||||
if( !szwComponent )
|
szwComponent = HeapAlloc( GetProcessHeap(), 0, len * sizeof (WCHAR) );
|
||||||
|
if( szwComponent )
|
||||||
|
MultiByteToWideChar( CP_ACP, 0, szComponent, -1, szwComponent, len );
|
||||||
|
else
|
||||||
return ERROR_FUNCTION_FAILED;
|
return ERROR_FUNCTION_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -173,18 +173,4 @@ extern LPWSTR MSI_makestring( MSIDATABASE *db, UINT stringid);
|
||||||
|
|
||||||
UINT VIEW_find_column( MSIVIEW *view, LPWSTR name, UINT *n );
|
UINT VIEW_find_column( MSIVIEW *view, LPWSTR name, UINT *n );
|
||||||
|
|
||||||
/* FIXME! should get rid of that */
|
|
||||||
#include "winnls.h"
|
|
||||||
inline static LPWSTR HEAP_strdupAtoW( HANDLE heap, DWORD flags, LPCSTR str )
|
|
||||||
{
|
|
||||||
LPWSTR ret;
|
|
||||||
INT len;
|
|
||||||
|
|
||||||
if (!str) return NULL;
|
|
||||||
len = MultiByteToWideChar( CP_ACP, 0, str, -1, NULL, 0 );
|
|
||||||
ret = HeapAlloc( heap, flags, len * sizeof(WCHAR) );
|
|
||||||
if (ret) MultiByteToWideChar( CP_ACP, 0, str, -1, ret, len );
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* __WINE_MSI_PRIVATE__ */
|
#endif /* __WINE_MSI_PRIVATE__ */
|
||||||
|
|
|
@ -97,15 +97,17 @@ UINT WINAPI MsiDatabaseOpenViewA(MSIHANDLE hdb,
|
||||||
LPCSTR szQuery, MSIHANDLE *phView)
|
LPCSTR szQuery, MSIHANDLE *phView)
|
||||||
{
|
{
|
||||||
UINT r;
|
UINT r;
|
||||||
LPCWSTR szwQuery;
|
LPWSTR szwQuery;
|
||||||
|
|
||||||
TRACE("%ld %s %p\n", hdb, debugstr_a(szQuery), phView);
|
TRACE("%ld %s %p\n", hdb, debugstr_a(szQuery), phView);
|
||||||
|
|
||||||
if( szQuery )
|
if( szQuery )
|
||||||
{
|
{
|
||||||
szwQuery = HEAP_strdupAtoW( GetProcessHeap(), 0, szQuery );
|
UINT len = MultiByteToWideChar( CP_ACP, 0, szQuery, -1, NULL, 0 );
|
||||||
|
szwQuery = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
|
||||||
if( !szwQuery )
|
if( !szwQuery )
|
||||||
return ERROR_FUNCTION_FAILED;
|
return ERROR_FUNCTION_FAILED;
|
||||||
|
MultiByteToWideChar( CP_ACP, 0, szQuery, -1, szwQuery, len );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
szwQuery = NULL;
|
szwQuery = NULL;
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
#include "windef.h"
|
#include "windef.h"
|
||||||
#include "winbase.h"
|
#include "winbase.h"
|
||||||
#include "winreg.h"
|
#include "winreg.h"
|
||||||
|
#include "winnls.h"
|
||||||
#include "shlwapi.h"
|
#include "shlwapi.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
#include "msi.h"
|
#include "msi.h"
|
||||||
|
@ -54,9 +55,11 @@ UINT WINAPI MsiGetSummaryInformationA(MSIHANDLE hDatabase,
|
||||||
|
|
||||||
if( szDatabase )
|
if( szDatabase )
|
||||||
{
|
{
|
||||||
szwDatabase = HEAP_strdupAtoW( GetProcessHeap(), 0, szDatabase );
|
UINT len = MultiByteToWideChar( CP_ACP, 0, szDatabase, -1, NULL, 0 );
|
||||||
|
szwDatabase = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
|
||||||
if( !szwDatabase )
|
if( !szwDatabase )
|
||||||
return ERROR_FUNCTION_FAILED;
|
return ERROR_FUNCTION_FAILED;
|
||||||
|
MultiByteToWideChar( CP_ACP, 0, szDatabase, -1, szwDatabase, len );
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = MsiGetSummaryInformationW(hDatabase, szwDatabase, uiUpdateCount, phSummaryInfo);
|
ret = MsiGetSummaryInformationW(hDatabase, szwDatabase, uiUpdateCount, phSummaryInfo);
|
||||||
|
|
Loading…
Reference in New Issue