Module: wine Branch: master Commit: 3ad7f772985ac103e4a3226a161d188ce6e89c4d URL: http://source.winehq.org/git/wine.git/?a=commit;h=3ad7f772985ac103e4a3226a16...
Author: Alexandre Julliard julliard@winehq.org Date: Tue Jan 6 21:09:58 2009 +0100
include/msvcrt: Replace va_list by __ms_va_list for x86_64.
---
include/msvcrt/crtdefs.h | 12 ++++++++++++ include/msvcrt/stdio.h | 18 +++++++++--------- include/msvcrt/wchar.h | 8 ++++---- 3 files changed, 25 insertions(+), 13 deletions(-)
diff --git a/include/msvcrt/crtdefs.h b/include/msvcrt/crtdefs.h index fce448e..9eac870 100644 --- a/include/msvcrt/crtdefs.h +++ b/include/msvcrt/crtdefs.h @@ -68,6 +68,18 @@ # endif #endif /* __cdecl */
+#ifndef __ms_va_list +# if defined(__x86_64__) && defined (__GNUC__) +# define __ms_va_list __builtin_ms_va_list +# define __ms_va_start(list,arg) __builtin_ms_va_start(list,arg) +# define __ms_va_end(list) __builtin_ms_va_end(list) +# else +# define __ms_va_list va_list +# define __ms_va_start(list,arg) va_start(list,arg) +# define __ms_va_end(list) va_end(list) +# endif +#endif + #ifndef _INTPTR_T_DEFINED #ifdef _WIN64 typedef __int64 intptr_t; diff --git a/include/msvcrt/stdio.h b/include/msvcrt/stdio.h index 98cc950..b65a2b1 100644 --- a/include/msvcrt/stdio.h +++ b/include/msvcrt/stdio.h @@ -115,7 +115,7 @@ int __cdecl _setmaxstdio(int); int __cdecl _snprintf(char*,size_t,const char*,...); char* __cdecl _tempnam(const char*,const char*); int __cdecl _unlink(const char*); -int __cdecl _vsnprintf(char*,size_t,const char*,va_list); +int __cdecl _vsnprintf(char*,size_t,const char*,__ms_va_list);
void __cdecl clearerr(FILE*); int __cdecl fclose(FILE*); @@ -155,9 +155,9 @@ int __cdecl sscanf(const char*,const char*,...); FILE* __cdecl tmpfile(void); char* __cdecl tmpnam(char*); int __cdecl ungetc(int,FILE*); -int __cdecl vfprintf(FILE*,const char*,va_list); -int __cdecl vprintf(const char*,va_list); -int __cdecl vsprintf(char*,const char*,va_list); +int __cdecl vfprintf(FILE*,const char*,__ms_va_list); +int __cdecl vprintf(const char*,__ms_va_list); +int __cdecl vsprintf(char*,const char*,__ms_va_list);
#ifndef _WSTDIO_DEFINED #define _WSTDIO_DEFINED @@ -166,7 +166,7 @@ wint_t __cdecl _fputwchar(wint_t); wchar_t* __cdecl _getws(wchar_t*); int __cdecl _putws(const wchar_t*); int __cdecl _snwprintf(wchar_t*,size_t,const wchar_t*,...); -int __cdecl _vsnwprintf(wchar_t*,size_t,const wchar_t*,va_list); +int __cdecl _vsnwprintf(wchar_t*,size_t,const wchar_t*,__ms_va_list); FILE* __cdecl _wfdopen(int,const wchar_t*); FILE* __cdecl _wfopen(const wchar_t*,const wchar_t*); FILE* __cdecl _wfreopen(const wchar_t*,const wchar_t*,FILE*); @@ -193,9 +193,9 @@ int __cdecl putws(const wchar_t*); int __cdecl swprintf(wchar_t*,const wchar_t*,...); int __cdecl swscanf(const wchar_t*,const wchar_t*,...); wint_t __cdecl ungetwc(wint_t,FILE*); -int __cdecl vfwprintf(FILE*,const wchar_t*,va_list); -int __cdecl vswprintf(wchar_t*,const wchar_t*,va_list); -int __cdecl vwprintf(const wchar_t*,va_list); +int __cdecl vfwprintf(FILE*,const wchar_t*,__ms_va_list); +int __cdecl vswprintf(wchar_t*,const wchar_t*,__ms_va_list); +int __cdecl vwprintf(const wchar_t*,__ms_va_list); int __cdecl wprintf(const wchar_t*,...); int __cdecl wscanf(const wchar_t*,...); #endif /* _WSTDIO_DEFINED */ @@ -218,7 +218,7 @@ static inline char* tempnam(const char *dir, const char *prefix) { return _tempn static inline int unlink(const char* path) { return _unlink(path); } #define _UNLINK_DEFINED #endif -static inline int vsnprintf(char *buffer, size_t size, const char *format, 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); }
static inline wint_t fgetwchar(void) { return _fgetwchar(); } static inline wint_t fputwchar(wint_t wc) { return _fputwchar(wc); } diff --git a/include/msvcrt/wchar.h b/include/msvcrt/wchar.h index d966caa..77bcc10 100644 --- a/include/msvcrt/wchar.h +++ b/include/msvcrt/wchar.h @@ -275,7 +275,7 @@ wint_t __cdecl _fputwchar(wint_t); wchar_t* __cdecl _getws(wchar_t*); int __cdecl _putws(const wchar_t*); int __cdecl _snwprintf(wchar_t*,size_t,const wchar_t*,...); -int __cdecl _vsnwprintf(wchar_t*,size_t,const wchar_t*,va_list); +int __cdecl _vsnwprintf(wchar_t*,size_t,const wchar_t*,__ms_va_list); FILE* __cdecl _wfdopen(int,const wchar_t*); FILE* __cdecl _wfopen(const wchar_t*,const wchar_t*); FILE* __cdecl _wfreopen(const wchar_t*,const wchar_t*,FILE*); @@ -302,9 +302,9 @@ int __cdecl putws(const wchar_t*); int __cdecl swprintf(wchar_t*,const wchar_t*,...); int __cdecl swscanf(const wchar_t*,const wchar_t*,...); wint_t __cdecl ungetwc(wint_t,FILE*); -int __cdecl vfwprintf(FILE*,const wchar_t*,va_list); -int __cdecl vswprintf(wchar_t*,const wchar_t*,va_list); -int __cdecl vwprintf(const wchar_t*,va_list); +int __cdecl vfwprintf(FILE*,const wchar_t*,__ms_va_list); +int __cdecl vswprintf(wchar_t*,const wchar_t*,__ms_va_list); +int __cdecl vwprintf(const wchar_t*,__ms_va_list); int __cdecl wprintf(const wchar_t*,...); int __cdecl wscanf(const wchar_t*,...); #endif /* _WSTDIO_DEFINED */