2014-02-01 09:31:41 +00:00
|
|
|
#ifndef __STDARG
|
|
|
|
#define __STDARG
|
|
|
|
|
|
|
|
typedef char *va_list;
|
|
|
|
|
2020-03-23 00:31:39 +00:00
|
|
|
#define va_start(list, start) \
|
|
|
|
(list = (sizeof(start)<8 ? \
|
|
|
|
(char *)((long long *)&(start)+1) : \
|
|
|
|
(char *)(&(start)+1)))
|
2014-02-01 09:31:41 +00:00
|
|
|
#define va_end(list)
|
|
|
|
#define va_arg(list, mode)\
|
|
|
|
((sizeof(mode) == 1)?\
|
|
|
|
((mode*)(list += 8))[-8]:\
|
|
|
|
(sizeof(mode) == 2)?\
|
|
|
|
((mode*)(list += 8))[-4]:\
|
|
|
|
(sizeof(mode) == 4)?\
|
|
|
|
((mode*)(list += 8))[-2]:\
|
|
|
|
((mode*)(list += sizeof(mode)))[-1])
|
2020-03-23 00:31:39 +00:00
|
|
|
#define va_copy(dst, src) \
|
|
|
|
((dst) = (src))
|
2014-02-01 09:31:41 +00:00
|
|
|
|
|
|
|
#endif /* __STDARG */
|