version: move GetFileVersionInfo(A/W) implementation to GetFileVersionInfoEx(A/W) (2/2)

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


For https://bugs.winehq.org/show_bug.cgi?id=38098

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



More information about the wine-patches mailing list