Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | 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 */