Jacek Caban : stdio.h: Provide sprintf and _snprintf as inline wrappers.
Alexandre Julliard
julliard at winehq.org
Sun Feb 16 15:23:58 CST 2020
Module: wine
Branch: master
Commit: 84dbedc922dbfea6f8a0a562e9fb6142bc58f9da
URL: https://source.winehq.org/git/wine.git/?a=commit;h=84dbedc922dbfea6f8a0a562e9fb6142bc58f9da
Author: Jacek Caban <jacek at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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); }
More information about the wine-cvs
mailing list