From: Austin English Subject: version: move GetFileVersionInfo(A/W) implementation to GetFileVersionInfoEx(A/W) (2/2) Message-Id: Date: Fri, 22 May 2015 14:38:38 -0500 For https://bugs.winehq.org/show_bug.cgi?id=38098 -- -Austin From 3475ee1ab55d46f10ce021ea270d39dbe791b933 Mon Sep 17 00:00:00 2001 From: Austin English Date: Thu, 21 May 2015 18:32:17 -0700 Subject: [PATCH 2/2] version: move GetFileVersionInfo(A/W) implementation to GetFileVersionInfoEx(A/W) --- dlls/version/version.c | 71 +++++++++++++++++++++++++++++++------------------- 1 file changed, 44 insertions(+), 27 deletions(-) diff --git a/dlls/version/version.c b/dlls/version/version.c index 72710ed..8ab47c8 100644 --- a/dlls/version/version.c +++ b/dlls/version/version.c @@ -734,11 +734,34 @@ DWORD WINAPI GetFileVersionInfoSizeA( LPCSTR filename, LPDWORD handle ) return retval; } -/*********************************************************************** - * GetFileVersionInfoW [VERSION.@] + +/****************************************************************************** + * GetFileVersionInfoExA [VERSION.@] + */ +BOOL WINAPI GetFileVersionInfoExA( DWORD flags, LPCSTR filename, DWORD handle, DWORD datasize, LPVOID data ) +{ + UNICODE_STRING filenameW; + BOOL retval; + + TRACE("(%s,%d,size=%d,data=%p)\n", + debugstr_a(filename), handle, datasize, data ); + + if(filename) + RtlCreateUnicodeStringFromAsciiz(&filenameW, filename); + else + filenameW.Buffer = NULL; + + retval = GetFileVersionInfoExW(flags, filenameW.Buffer, handle, datasize, data); + + RtlFreeUnicodeString(&filenameW); + + return retval; +} + +/****************************************************************************** + * GetFileVersionInfoExW [VERSION.@] */ -BOOL WINAPI GetFileVersionInfoW( LPCWSTR filename, DWORD handle, - DWORD datasize, LPVOID data ) +BOOL WINAPI GetFileVersionInfoExW( DWORD flags, LPCWSTR filename, DWORD handle, DWORD datasize, LPVOID data ) { static const char signature[4] = "FE2X"; DWORD len, offset, magic = 1; @@ -747,6 +770,13 @@ BOOL WINAPI GetFileVersionInfoW( LPCWSTR filename, DWORD handle, HMODULE hModule; VS_VERSION_INFO_STRUCT32* vvis = data; + if (flags) + { + FIXME("stub: %x %s %u %u %p\n", flags, wine_dbgstr_w(filename), handle, datasize, data); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return 0; + } + TRACE("(%s,%d,size=%d,data=%p)\n", debugstr_w(filename), handle, datasize, data ); @@ -810,10 +840,17 @@ BOOL WINAPI GetFileVersionInfoW( LPCWSTR filename, DWORD handle, } /*********************************************************************** + * GetFileVersionInfoW [VERSION.@] + */ +BOOL WINAPI GetFileVersionInfoW( LPCWSTR filename, DWORD handle, DWORD datasize, LPVOID data ) +{ + return GetFileVersionInfoExW(0, filename, handle, datasize, data); +} + +/*********************************************************************** * GetFileVersionInfoA [VERSION.@] */ -BOOL WINAPI GetFileVersionInfoA( LPCSTR filename, DWORD handle, - DWORD datasize, LPVOID data ) +BOOL WINAPI GetFileVersionInfoA( LPCSTR filename, DWORD handle, DWORD datasize, LPVOID data ) { UNICODE_STRING filenameW; BOOL retval; @@ -826,7 +863,7 @@ BOOL WINAPI GetFileVersionInfoA( LPCSTR filename, DWORD handle, else filenameW.Buffer = NULL; - retval = GetFileVersionInfoW(filenameW.Buffer, handle, datasize, data); + retval = GetFileVersionInfoExW(0, filenameW.Buffer, handle, datasize, data); RtlFreeUnicodeString(&filenameW); @@ -1649,23 +1686,3 @@ DWORD WINAPI VerInstallFileW( HeapFree( GetProcessHeap(), 0, wcurd ); return ret; } - -/****************************************************************************** - * GetFileVersionInfoExA [VERSION.@] - */ -BOOL WINAPI GetFileVersionInfoExA(DWORD flags, LPCSTR filename, DWORD handle, DWORD len, LPVOID data) -{ - FIXME("stub: %u %s %u %u %p\n", flags, wine_dbgstr_a(filename), handle, len, data); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/****************************************************************************** - * GetFileVersionInfoExW [VERSION.@] - */ -BOOL WINAPI GetFileVersionInfoExW(DWORD flags, LPCWSTR filename, DWORD handle, DWORD len, LPVOID data) -{ - FIXME("stub: %u %s %u %u %p\n", flags, wine_dbgstr_w(filename), handle, len, data); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} -- 2.2.0