17dd7cddfSDavid du Colombier #ifndef __STDARG 27dd7cddfSDavid du Colombier #define __STDARG 37dd7cddfSDavid du Colombier 47dd7cddfSDavid du Colombier typedef char *va_list; 57dd7cddfSDavid du Colombier 6*b39189fdSDavid du Colombier #define va_start(list, start) list =\ 7*b39189fdSDavid du Colombier (sizeof(start) < 4?\ 8*b39189fdSDavid du Colombier (char*)((int*)&(start)+1):\ 9*b39189fdSDavid du Colombier (char*)(&(start)+1)) 107dd7cddfSDavid du Colombier #define va_end(list) 116891d857SDavid du Colombier #define va_arg(list, mode)\ 126891d857SDavid du Colombier ((sizeof(mode) <= 4)?\ 136891d857SDavid du Colombier ((list += 4), (mode*)list)[-1]:\ 146891d857SDavid du Colombier (signof(mode) != signof(double))?\ 156891d857SDavid du Colombier ((list += sizeof(mode)), (mode*)list)[-1]:\ 166891d857SDavid du Colombier ((list = (char*)((unsigned long)(list+7) & ~7) + sizeof(mode)), (mode*)list)[-1]) 177dd7cddfSDavid du Colombier 187dd7cddfSDavid du Colombier #endif /* __STDARG */ 19