Details |
Last modification |
View Log
| RSS feed
Rev |
Author |
Line No. |
Line |
2 |
- |
1 |
#ifndef __STDARG
|
|
|
2 |
#define __STDARG
|
|
|
3 |
|
|
|
4 |
typedef char *va_list;
|
|
|
5 |
|
|
|
6 |
#define va_start(list, start) list =\
|
|
|
7 |
(sizeof(start) < 4?\
|
|
|
8 |
(char*)((int*)&(start)+1):\
|
|
|
9 |
(char*)(&(start)+1))
|
|
|
10 |
#define va_end(list)
|
|
|
11 |
#define va_arg(list, mode)\
|
|
|
12 |
((sizeof(mode) <= 4)?\
|
|
|
13 |
((list += 4), (mode*)list)[-1]:\
|
|
|
14 |
(signof(mode) != signof(double))?\
|
|
|
15 |
((list += sizeof(mode)), (mode*)list)[-1]:\
|
|
|
16 |
((list = (char*)((unsigned long)(list+7) & ~7) + sizeof(mode)), (mode*)list)[-1])
|
|
|
17 |
|
|
|
18 |
#endif /* __STDARG */
|