version: move GetFileVersionInfoSize(A/W) implemementation to GetFileVersionInfoSizeEx(A/W) (1/2)

Austin English austinenglish at gmail.com
Fri May 22 14:38:14 CDT 2015


Corrected email.

On Fri, May 22, 2015 at 2:37 PM, Austin English <austinenglish at gmail.com> wrote:
> For https://bugs.winehq.org/show_bug.cgi?id=38090
>
> --
> -Austin



-- 
-Austin
-------------- next part --------------
From e7ee2d53925030a961ffc359e05f1b3494275f71 Mon Sep 17 00:00:00 2001
From: Austin English <austinenglish at gmail.com>
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



More information about the wine-patches mailing list