Module: wine Branch: master Commit: 77306693d4a9721034968772769b88374688ae40 URL: http://source.winehq.org/git/wine.git/?a=commit;h=77306693d4a972103496877276...
Author: Piotr Caban piotr@codeweavers.com Date: Wed Dec 12 11:15:33 2012 +0100
msvcr100: Added _sprintf_p implementation.
---
dlls/msvcr100/msvcr100.c | 15 +++++++++++++++ dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- include/msvcrt/stdio.h | 1 + 5 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.c b/dlls/msvcr100/msvcr100.c index f529b10..1a54c43 100644 --- a/dlls/msvcr100/msvcr100.c +++ b/dlls/msvcr100/msvcr100.c @@ -458,6 +458,21 @@ size_t CDECL fread_s(void *buf, size_t buf_size, size_t elem_size, size_t count, }
/********************************************************************* + * _sprintf_p (MSVCR100.@) + */ +int CDECL _sprintf_p(char *buffer, size_t length, const char *format, ...) +{ + __ms_va_list valist; + int r; + + __ms_va_start(valist, format); + r = _vsprintf_p_l(buffer, length, format, NULL, valist); + __ms_va_end(valist); + + return r; +} + +/********************************************************************* * DllMain (MSVCR100.@) */ BOOL WINAPI DllMain(HINSTANCE hdll, DWORD reason, LPVOID reserved) diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 70fca053..510c974 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1312,7 +1312,7 @@ @ cdecl _splitpath(str ptr ptr ptr ptr) msvcrt._splitpath @ cdecl _splitpath_s(str ptr long ptr long ptr long ptr long) msvcrt._splitpath_s @ stub _sprintf_l -@ stub _sprintf_p +@ varargs _sprintf_p(ptr long str) @ varargs _sprintf_p_l(ptr long str ptr) msvcrt._sprintf_p_l @ stub _sprintf_s_l @ varargs _sscanf_l(str str ptr) msvcrt._sscanf_l diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 2eecb7a..27a8f6d 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -974,7 +974,7 @@ @ cdecl _splitpath(str ptr ptr ptr ptr) msvcrt._splitpath @ cdecl _splitpath_s(str ptr long ptr long ptr long ptr long) msvcrt._splitpath_s @ stub _sprintf_l -@ stub _sprintf_p +@ varargs _sprintf_p(ptr long str) msvcr100._sprintf_p @ varargs _sprintf_p_l(ptr long str ptr) msvcrt._sprintf_p_l @ stub _sprintf_s_l @ varargs _sscanf_l(str str ptr) msvcrt._sscanf_l diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 8644692..ccdb7e0 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -967,7 +967,7 @@ @ cdecl _splitpath(str ptr ptr ptr ptr) msvcrt._splitpath @ cdecl _splitpath_s(str ptr long ptr long ptr long ptr long) msvcrt._splitpath_s @ stub _sprintf_l -@ stub _sprintf_p +@ varargs _sprintf_p(ptr long str) msvcr100._sprintf_p @ varargs _sprintf_p_l(ptr long str ptr) msvcrt._sprintf_p_l @ stub _sprintf_s_l @ varargs _sscanf_l(str str ptr) msvcrt._sscanf_l diff --git a/include/msvcrt/stdio.h b/include/msvcrt/stdio.h index f277516..f6bf3b5 100644 --- a/include/msvcrt/stdio.h +++ b/include/msvcrt/stdio.h @@ -125,6 +125,7 @@ int __cdecl _scprintf(const char*,...); int __cdecl _vscprintf(const char*,__ms_va_list); int __cdecl _vsnprintf(char*,size_t,const char*,__ms_va_list); int __cdecl _vsnprintf_s(char*,size_t,size_t,const char*,__ms_va_list); +int __cdecl _vsprintf_p_l(char*,size_t,const char*,_locale_t,__ms_va_list);
void __cdecl clearerr(FILE*); int __cdecl fclose(FILE*);