From: Austin English Subject: version: move GetFileVersionInfoSize(A/W) implemementation to GetFileVersionInfoSizeEx(A/W) (1/2) Message-Id: Date: Fri, 22 May 2015 14:37:00 -0500 For https://bugs.winehq.org/show_bug.cgi?id=38090 -- -Austin From e7ee2d53925030a961ffc359e05f1b3494275f71 Mon Sep 17 00:00:00 2001 From: Austin English Date: Thu, 21 May 2015 18:23:58 -0700 Subject: [PATCH 1/2] version: move GetFileVersionInfoSize(A/W) implemementation to GetFileVersionInfoSizeEx(A/W) --- dlls/version/version.c | 62 +++++++++++++++++++++++++++++++------------------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/dlls/version/version.c b/dlls/version/version.c index 68dab66..72710ed 100644 --- a/dlls/version/version.c +++ b/dlls/version/version.c @@ -602,16 +602,44 @@ typedef struct (VS_VERSION_INFO_STRUCT32 *)( (LPBYTE)ver + (((ver)->wLength + 3) & ~3) ) -/*********************************************************************** - * GetFileVersionInfoSizeW [VERSION.@] +/****************************************************************************** + * GetFileVersionInfoSizeExA [VERSION.@] */ -DWORD WINAPI GetFileVersionInfoSizeW( LPCWSTR filename, LPDWORD handle ) +DWORD WINAPI GetFileVersionInfoSizeExA(DWORD flags, LPCSTR filename, LPDWORD handle) +{ + UNICODE_STRING filenameW; + DWORD retval; + + TRACE("(%s,%p)\n", debugstr_a(filename), handle ); + + if(filename) + RtlCreateUnicodeStringFromAsciiz(&filenameW, filename); + else + filenameW.Buffer = NULL; + + retval = GetFileVersionInfoSizeExW(0, filenameW.Buffer, handle); + + RtlFreeUnicodeString(&filenameW); + + return retval; +} + +/****************************************************************************** + * GetFileVersionInfoSizeExW [VERSION.@] + */ +DWORD WINAPI GetFileVersionInfoSizeExW( DWORD flags, LPCWSTR filename, LPDWORD handle ) { DWORD len, offset, magic = 1; HFILE lzfd; HMODULE hModule; OFSTRUCT ofs; + if(flags) { + FIXME("stub: %x %s %p\n", flags, wine_dbgstr_w(filename), handle); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return 0; + } + TRACE("(%s,%p)\n", debugstr_w(filename), handle ); if (handle) *handle = 0; @@ -677,6 +705,14 @@ DWORD WINAPI GetFileVersionInfoSizeW( LPCWSTR filename, LPDWORD handle ) } /*********************************************************************** + * GetFileVersionInfoSizeW [VERSION.@] + */ +DWORD WINAPI GetFileVersionInfoSizeW( LPCWSTR filename, LPDWORD handle ) +{ + return GetFileVersionInfoSizeExW(0, filename, handle); +} + +/*********************************************************************** * GetFileVersionInfoSizeA [VERSION.@] */ DWORD WINAPI GetFileVersionInfoSizeA( LPCSTR filename, LPDWORD handle ) @@ -1615,26 +1651,6 @@ DWORD WINAPI VerInstallFileW( } /****************************************************************************** - * GetFileVersionInfoSizeExA [VERSION.@] - */ -DWORD WINAPI GetFileVersionInfoSizeExA(DWORD flags, LPCSTR filename, LPDWORD handle) -{ - FIXME("stub: %u %s %p\n", flags, wine_dbgstr_a(filename), handle); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/****************************************************************************** - * GetFileVersionInfoSizeExW [VERSION.@] - */ -DWORD WINAPI GetFileVersionInfoSizeExW(DWORD flags, LPCWSTR filename, LPDWORD handle) -{ - FIXME("stub: %u %s %p\n", flags, wine_dbgstr_w(filename), handle); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/****************************************************************************** * GetFileVersionInfoExA [VERSION.@] */ BOOL WINAPI GetFileVersionInfoExA(DWORD flags, LPCSTR filename, DWORD handle, DWORD len, LPVOID data) -- 2.2.0