Module: wine Branch: master Commit: 84dbedc922dbfea6f8a0a562e9fb6142bc58f9da URL: https://source.winehq.org/git/wine.git/?a=commit;h=84dbedc922dbfea6f8a0a562e...
Author: Jacek Caban jacek@codeweavers.com Date: Fri Feb 14 13:07:24 2020 +0100
stdio.h: Provide sprintf and _snprintf as inline wrappers.
It's enough for Wine debug functions to use _vsnprintf from ucrtbase importlib instead of ntdll for modules that link to ucrtbase.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msvcp90/msvcp_main.c | 10 ---------- include/msvcrt/stdio.h | 24 ++++++++++++++++++++++-- 2 files changed, 22 insertions(+), 12 deletions(-)
diff --git a/dlls/msvcp90/msvcp_main.c b/dlls/msvcp90/msvcp_main.c index 6166591d0c..b6375f71dc 100644 --- a/dlls/msvcp90/msvcp_main.c +++ b/dlls/msvcp90/msvcp_main.c @@ -124,16 +124,6 @@ int WINAPIV _scprintf(const char* fmt, ...) __ms_va_end(valist); return ret; } - -int WINAPIV sprintf(char *buf, const char *fmt, ...) -{ - int ret; - __ms_va_list valist; - __ms_va_start(valist, fmt); - ret = _vsnprintf(buf, -1, fmt, valist); - __ms_va_end(valist); - return ret; -} #endif
static void init_cxx_funcs(void) diff --git a/include/msvcrt/stdio.h b/include/msvcrt/stdio.h index d01e788f80..ecaa7fe611 100644 --- a/include/msvcrt/stdio.h +++ b/include/msvcrt/stdio.h @@ -98,7 +98,6 @@ int __cdecl _putw(int,FILE*); int __cdecl _rmtmp(void); int __cdecl _set_printf_count_output(int); int __cdecl _setmaxstdio(int); -int WINAPIV _snprintf(char*,size_t,const char*,...); int WINAPIV _snprintf_s(char*,size_t,size_t,const char*,...); char* __cdecl _tempnam(const char*,const char*); int __cdecl _unlink(const char*); @@ -165,7 +164,6 @@ int WINAPIV scanf(const char*,...); int WINAPIV scanf_s(const char*,...); void __cdecl setbuf(FILE*,char*); int __cdecl setvbuf(FILE*,char*,int,size_t); -int WINAPIV sprintf(char*,const char*,...); int WINAPIV sprintf_s(char*,size_t,const char*,...); int WINAPIV _scprintf(const char *, ...); int WINAPIV sscanf(const char*,const char*,...); @@ -204,6 +202,28 @@ static inline int unlink(const char* path) { return _unlink(path); } static inline int vsnprintf(char *buffer, size_t size, const char *format, __ms_va_list args) { return _vsnprintf(buffer,size,format,args); } #define snprintf _snprintf
+static inline int WINAPIV _snprintf(char *buffer, size_t size, const char *format, ...) +{ + int ret; + __ms_va_list args; + + __ms_va_start(args, format); + ret = _vsnprintf(buffer, size, format, args); + __ms_va_end(args); + return ret; +} + +static inline int WINAPIV sprintf(char *buffer, const char *format, ...) +{ + int ret; + __ms_va_list args; + + __ms_va_start(args, format); + ret = _vsnprintf(buffer, (size_t)-1, format, args); + __ms_va_end(args); + return ret; +} + static inline wint_t fgetwchar(void) { return _fgetwchar(); } static inline wint_t fputwchar(wint_t wc) { return _fputwchar(wc); } static inline int getw(FILE* file) { return _getw(file); }