Alexandre Julliard : include/msvcrt: Replace va_list by __ms_va_list for x86_64.
Alexandre Julliard
julliard at winehq.org
Wed Jan 7 10:56:59 CST 2009
Module: wine
Branch: master
Commit: 3ad7f772985ac103e4a3226a161d188ce6e89c4d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3ad7f772985ac103e4a3226a161d188ce6e89c4d
Author: Alexandre Julliard <julliard at 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 */
More information about the wine-cvs
mailing list