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>
This commit is contained in:
parent
d3a0cd77d8
commit
84dbedc922
@ -124,16 +124,6 @@ int WINAPIV _scprintf(const char* fmt, ...)
|
|||||||
__ms_va_end(valist);
|
__ms_va_end(valist);
|
||||||
return ret;
|
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
|
#endif
|
||||||
|
|
||||||
static void init_cxx_funcs(void)
|
static void init_cxx_funcs(void)
|
||||||
|
@ -98,7 +98,6 @@ int __cdecl _putw(int,FILE*);
|
|||||||
int __cdecl _rmtmp(void);
|
int __cdecl _rmtmp(void);
|
||||||
int __cdecl _set_printf_count_output(int);
|
int __cdecl _set_printf_count_output(int);
|
||||||
int __cdecl _setmaxstdio(int);
|
int __cdecl _setmaxstdio(int);
|
||||||
int WINAPIV _snprintf(char*,size_t,const char*,...);
|
|
||||||
int WINAPIV _snprintf_s(char*,size_t,size_t,const char*,...);
|
int WINAPIV _snprintf_s(char*,size_t,size_t,const char*,...);
|
||||||
char* __cdecl _tempnam(const char*,const char*);
|
char* __cdecl _tempnam(const char*,const char*);
|
||||||
int __cdecl _unlink(const char*);
|
int __cdecl _unlink(const char*);
|
||||||
@ -165,7 +164,6 @@ int WINAPIV scanf(const char*,...);
|
|||||||
int WINAPIV scanf_s(const char*,...);
|
int WINAPIV scanf_s(const char*,...);
|
||||||
void __cdecl setbuf(FILE*,char*);
|
void __cdecl setbuf(FILE*,char*);
|
||||||
int __cdecl setvbuf(FILE*,char*,int,size_t);
|
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 sprintf_s(char*,size_t,const char*,...);
|
||||||
int WINAPIV _scprintf(const char *, ...);
|
int WINAPIV _scprintf(const char *, ...);
|
||||||
int WINAPIV sscanf(const char*,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); }
|
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
|
#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 fgetwchar(void) { return _fgetwchar(); }
|
||||||
static inline wint_t fputwchar(wint_t wc) { return _fputwchar(wc); }
|
static inline wint_t fputwchar(wint_t wc) { return _fputwchar(wc); }
|
||||||
static inline int getw(FILE* file) { return _getw(file); }
|
static inline int getw(FILE* file) { return _getw(file); }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user