Alexandre Julliard : ntdll: Convert the DbgPrint* functions to use MS ABI varargs.
Alexandre Julliard
julliard at winehq.org
Thu Jan 29 09:14:43 CST 2009
Module: wine
Branch: master
Commit: f8313855e420248d819d9e9aaa5fc84dc9a4c1d0
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f8313855e420248d819d9e9aaa5fc84dc9a4c1d0
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Jan 28 19:17:34 2009 +0100
ntdll: Convert the DbgPrint* functions to use MS ABI varargs.
---
dlls/ntdll/ntdll_misc.h | 3 +++
dlls/ntdll/rtl.c | 20 ++++++++++----------
include/winternl.h | 4 ++--
3 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
index 306b36d..1d56da8 100644
--- a/dlls/ntdll/ntdll_misc.h
+++ b/dlls/ntdll/ntdll_misc.h
@@ -156,6 +156,9 @@ extern int ntdll_umbstowcs(DWORD flags, const char* src, int srclen, WCHAR* dst,
extern int ntdll_wcstoumbs(DWORD flags, const WCHAR* src, int srclen, char* dst, int dstlen,
const char* defchar, int *used );
+extern int CDECL NTDLL__vsnprintf( char *str, SIZE_T len, const char *format, __ms_va_list args );
+extern int CDECL NTDLL__vsnwprintf( WCHAR *str, SIZE_T len, const WCHAR *format, __ms_va_list args );
+
/* load order */
enum loadorder
diff --git a/dlls/ntdll/rtl.c b/dlls/ntdll/rtl.c
index f84c7c4..602bfad 100644
--- a/dlls/ntdll/rtl.c
+++ b/dlls/ntdll/rtl.c
@@ -303,11 +303,11 @@ void WINAPI RtlDumpResource(LPRTL_RWLOCK rwl)
NTSTATUS WINAPIV DbgPrint(LPCSTR fmt, ...)
{
char buf[512];
- va_list args;
+ __ms_va_list args;
- va_start(args, fmt);
- vsprintf(buf,fmt, args);
- va_end(args);
+ __ms_va_start(args, fmt);
+ NTDLL__vsnprintf(buf, sizeof(buf), fmt, args);
+ __ms_va_end(args);
MESSAGE("DbgPrint says: %s",buf);
/* hmm, raise exception? */
@@ -321,18 +321,18 @@ NTSTATUS WINAPIV DbgPrint(LPCSTR fmt, ...)
NTSTATUS WINAPIV DbgPrintEx(ULONG iComponentId, ULONG Level, LPCSTR fmt, ...)
{
NTSTATUS ret;
- va_list args;
+ __ms_va_list args;
- va_start(args, fmt);
+ __ms_va_start(args, fmt);
ret = vDbgPrintEx(iComponentId, Level, fmt, args);
- va_end(args);
+ __ms_va_end(args);
return ret;
}
/******************************************************************************
* vDbgPrintEx [NTDLL.@]
*/
-NTSTATUS WINAPI vDbgPrintEx( ULONG id, ULONG level, LPCSTR fmt, va_list args )
+NTSTATUS WINAPI vDbgPrintEx( ULONG id, ULONG level, LPCSTR fmt, __ms_va_list args )
{
return vDbgPrintExWithPrefix( "", id, level, fmt, args );
}
@@ -340,11 +340,11 @@ NTSTATUS WINAPI vDbgPrintEx( ULONG id, ULONG level, LPCSTR fmt, va_list args )
/******************************************************************************
* vDbgPrintExWithPrefix [NTDLL.@]
*/
-NTSTATUS WINAPI vDbgPrintExWithPrefix( LPCSTR prefix, ULONG id, ULONG level, LPCSTR fmt, va_list args )
+NTSTATUS WINAPI vDbgPrintExWithPrefix( LPCSTR prefix, ULONG id, ULONG level, LPCSTR fmt, __ms_va_list args )
{
char buf[1024];
- vsprintf(buf, fmt, args);
+ NTDLL__vsnprintf(buf, sizeof(buf), fmt, args);
switch (level & DPFLTR_MASK)
{
diff --git a/include/winternl.h b/include/winternl.h
index 1a11469..1af1370 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -2508,8 +2508,8 @@ NTSYSAPI NTSTATUS WINAPI RtlpNtCreateKey(PHANDLE,ACCESS_MASK,const OBJECT_ATTRI
NTSYSAPI NTSTATUS WINAPI RtlpNtEnumerateSubKey(HANDLE,UNICODE_STRING *, ULONG);
NTSYSAPI NTSTATUS WINAPI RtlpWaitForCriticalSection(RTL_CRITICAL_SECTION *);
NTSYSAPI NTSTATUS WINAPI RtlpUnWaitCriticalSection(RTL_CRITICAL_SECTION *);
-NTSYSAPI NTSTATUS WINAPI vDbgPrintEx(ULONG,ULONG,LPCSTR,va_list);
-NTSYSAPI NTSTATUS WINAPI vDbgPrintExWithPrefix(LPCSTR,ULONG,ULONG,LPCSTR,va_list);
+NTSYSAPI NTSTATUS WINAPI vDbgPrintEx(ULONG,ULONG,LPCSTR,__ms_va_list);
+NTSYSAPI NTSTATUS WINAPI vDbgPrintExWithPrefix(LPCSTR,ULONG,ULONG,LPCSTR,__ms_va_list);
/* Wine internal functions */
More information about the wine-cvs
mailing list