24 lines
437 B
C
24 lines
437 B
C
|
#ifndef _RGMP_STDARG_H
|
||
|
#define _RGMP_STDARG_H
|
||
|
|
||
|
typedef char *va_list;
|
||
|
|
||
|
#define __va_size(type) \
|
||
|
(((sizeof(type) + sizeof(long) - 1) / sizeof(long)) * sizeof(long))
|
||
|
|
||
|
#ifndef va_start
|
||
|
#define va_start(ap, last) \
|
||
|
((ap) = (va_list)&(last) + __va_size(last))
|
||
|
#endif
|
||
|
|
||
|
#ifndef va_arg
|
||
|
#define va_arg(ap, type) \
|
||
|
(*(type *)((ap) += __va_size(type), (ap) - __va_size(type)))
|
||
|
#endif
|
||
|
|
||
|
#ifndef va_end
|
||
|
#define va_end(ap) ((void)0)
|
||
|
#endif
|
||
|
|
||
|
#endif
|