[PATCH v9 4/7] wdscore: Implement ConstructPartialMsgVA.

Mohamad Al-Jaf mohamadaljaf at gmail.com
Tue Mar 15 23:58:43 CDT 2022


Signed-off-by: Mohamad Al-Jaf <mohamadaljaf at gmail.com>
---
There's no public API for this function so I didn't
add WINELIB_NAME_AW.
---
 dlls/wdscore/main.c       | 23 +++++++++++++++++++++++
 dlls/wdscore/wdscore.spec |  2 +-
 include/wdscore.h         |  1 +
 3 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/dlls/wdscore/main.c b/dlls/wdscore/main.c
index 828e8c2451d..3d18ee2d5ab 100644
--- a/dlls/wdscore/main.c
+++ b/dlls/wdscore/main.c
@@ -20,6 +20,7 @@
 
 #include "windef.h"
 #include "winbase.h"
+#include "winnls.h"
 #include "wdscore.h"
 
 #include "wine/asm.h"
@@ -54,6 +55,28 @@ LPVOID CurrentIP(void)
 }
 #endif
 
+/***********************************************************************
+ *           ConstructPartialMsgVA (wdscore.@)
+ */
+LPVOID WINAPI ConstructPartialMsgVA( WdsLogLevel level, LPCSTR msg, va_list args )
+{
+    DWORD len;
+    LPVOID ret;
+    LPWSTR str = NULL;
+
+    if(msg)
+    {
+        len = MultiByteToWideChar( CP_ACP, 0, msg, -1, NULL, 0 );
+        str = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR) );
+        MultiByteToWideChar( CP_ACP, 0, msg, -1, str, len );
+    }
+
+    ret = ConstructPartialMsgVW( level, str, args );
+
+    HeapFree( GetProcessHeap(), 0, str );
+    return ret;
+}
+
 /***********************************************************************
  *           ConstructPartialMsgVW (wdscore.@)
  */
diff --git a/dlls/wdscore/wdscore.spec b/dlls/wdscore/wdscore.spec
index 4690fb3badd..86a3bf37797 100644
--- a/dlls/wdscore/wdscore.spec
+++ b/dlls/wdscore/wdscore.spec
@@ -69,7 +69,7 @@
 #@ extern g_bEnableDiagnosticMode
 @ stub ConstructPartialMsgIfA
 @ stub ConstructPartialMsgIfW
-@ stub ConstructPartialMsgVA
+@ stdcall ConstructPartialMsgVA(long str ptr)
 @ stdcall ConstructPartialMsgVW(long wstr ptr)
 @ cdecl CurrentIP()
 @ stub EndMajorTask
diff --git a/include/wdscore.h b/include/wdscore.h
index 36e3a216649..d7007d13804 100644
--- a/include/wdscore.h
+++ b/include/wdscore.h
@@ -35,6 +35,7 @@ typedef enum _WdsLogLevel {
 } WdsLogLevel;
 
 LPVOID CurrentIP(void);
+LPVOID  WINAPI ConstructPartialMsgVA(WdsLogLevel,LPCSTR,va_list);
 LPVOID  WINAPI ConstructPartialMsgVW(WdsLogLevel,LPCWSTR,va_list);
 
 #ifdef __cplusplus
-- 
2.35.1




More information about the wine-devel mailing list