Piotr Caban : msvcr90: Fix _vswprintf_p implementation.

Alexandre Julliard julliard at winehq.org
Tue Sep 20 13:08:35 CDT 2011


Module: wine
Branch: master
Commit: af6fd252ef8d630be82b9dba3199d5990c80e2b3
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=af6fd252ef8d630be82b9dba3199d5990c80e2b3

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Sep 20 10:32:29 2011 +0200

msvcr90: Fix _vswprintf_p implementation.

---

 dlls/msvcr90/msvcr90.c    |    8 ++++++++
 dlls/msvcr90/msvcr90.spec |    2 +-
 dlls/msvcrt/wcs.c         |    2 +-
 include/msvcrt/stdio.h    |    1 +
 include/msvcrt/wchar.h    |    1 +
 5 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/dlls/msvcr90/msvcr90.c b/dlls/msvcr90/msvcr90.c
index fd24f11..6b97e2f 100644
--- a/dlls/msvcr90/msvcr90.c
+++ b/dlls/msvcr90/msvcr90.c
@@ -358,3 +358,11 @@ void* CDECL _CRT_RTC_INITW(void *unk1, void *unk2, int unk3, int unk4, int unk5)
     TRACE("%p %p %x %x %x\n", unk1, unk2, unk3, unk4, unk5);
     return NULL;
 }
+
+/*********************************************************************
+ *              _vswprintf_p (MSVCR90.@)
+ */
+int CDECL MSVCR90__vswprintf_p(wchar_t *buffer, size_t length, const wchar_t *format, __ms_va_list args)
+{
+    return _vswprintf_p_l(buffer, length, format, NULL, args);
+}
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index ffdc931..c93efdd 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -1107,7 +1107,7 @@
 @ cdecl _vswprintf_c(ptr long wstr ptr) msvcrt._vswprintf_c
 @ cdecl _vswprintf_c_l(ptr long wstr ptr ptr) msvcrt._vswprintf_c_l
 @ cdecl _vswprintf_l(ptr wstr ptr ptr) msvcrt._vswprintf_l
-@ cdecl _vswprintf_p(ptr long wstr ptr) msvcrt._vswprintf
+@ cdecl _vswprintf_p(ptr long wstr ptr) MSVCR90__vswprintf_p
 @ cdecl _vswprintf_p_l(ptr long wstr ptr ptr) msvcrt._vswprintf_p_l
 @ cdecl _vswprintf_s_l(ptr long wstr ptr ptr) msvcrt._vswprintf_s_l
 @ stub _vwprintf_l
diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c
index d771d4f..0327ccb 100644
--- a/dlls/msvcrt/wcs.c
+++ b/dlls/msvcrt/wcs.c
@@ -709,7 +709,7 @@ int CDECL MSVCRT_vswprintf_p_l(MSVCRT_wchar_t *buffer, MSVCRT_size_t length,
         *MSVCRT__errno() = MSVCRT_EINVAL;
         return ret;
     } else if(ret == 0)
-        ret = pf_printf_w(puts_clbk_str_w, &puts_ctx, format, locale, TRUE, TRUE,
+        ret = pf_printf_w(puts_clbk_str_w, &puts_ctx, format, locale, FALSE, TRUE,
                 arg_clbk_valist, NULL, &args);
     else
         ret = pf_printf_w(puts_clbk_str_w, &puts_ctx, format, locale, TRUE, TRUE,
diff --git a/include/msvcrt/stdio.h b/include/msvcrt/stdio.h
index 4e43635..e2c1669 100644
--- a/include/msvcrt/stdio.h
+++ b/include/msvcrt/stdio.h
@@ -191,6 +191,7 @@ int      __cdecl _snwprintf_s(wchar_t*,size_t,size_t,const wchar_t*,...);
 int      __cdecl _vscwprintf(const wchar_t*,__ms_va_list);
 int      __cdecl _vsnwprintf(wchar_t*,size_t,const wchar_t*,__ms_va_list);
 int      __cdecl _vsnwprintf_s(wchar_t*,size_t,size_t,const wchar_t*,__ms_va_list);
+int      __cdecl _vswprintf_p_l(wchar_t*,size_t,const wchar_t*,_locale_t,__ms_va_list);
 FILE*    __cdecl _wfdopen(int,const wchar_t*);
 FILE*    __cdecl _wfopen(const wchar_t*,const wchar_t*);
 errno_t  __cdecl _wfopen_s(FILE**,const wchar_t*,const wchar_t*);
diff --git a/include/msvcrt/wchar.h b/include/msvcrt/wchar.h
index eab28b7..4c26624 100644
--- a/include/msvcrt/wchar.h
+++ b/include/msvcrt/wchar.h
@@ -322,6 +322,7 @@ int      __cdecl _snwprintf_s(wchar_t*,size_t,size_t,const wchar_t*,...);
 int      __cdecl _vscwprintf(const wchar_t*,__ms_va_list);
 int      __cdecl _vsnwprintf(wchar_t*,size_t,const wchar_t*,__ms_va_list);
 int      __cdecl _vsnwprintf_s(wchar_t*,size_t,size_t,const wchar_t*,__ms_va_list);
+int      __cdecl _vswprintf_p_l(wchar_t*,size_t,const wchar_t*,_locale_t,__ms_va_list);
 FILE*    __cdecl _wfdopen(int,const wchar_t*);
 FILE*    __cdecl _wfopen(const wchar_t*,const wchar_t*);
 errno_t  __cdecl _wfopen_s(FILE**,const wchar_t*,const wchar_t*);




More information about the wine-cvs mailing list