macro: increase VA_FORMAT_ADVANCE type array and hit assert when it is reached

This commit is contained in:
Lennart Poettering 2012-09-24 23:42:29 +02:00
parent 72f1d5a288
commit cecd32f648
1 changed files with 4 additions and 2 deletions

View File

@ -193,10 +193,12 @@ static inline size_t IOVEC_INCREMENT(struct iovec *i, unsigned n, size_t k) {
#define _cleanup_closedir_ __attribute__((cleanup(closedirp)))
#define _cleanup_umask_ __attribute__((cleanup(umaskp)))
#define VA_FORMAT_ADVANCE(format, ap) do { \
int _argtypes[64]; \
#define VA_FORMAT_ADVANCE(format, ap) \
do { \
int _argtypes[128]; \
size_t _i, _k; \
_k = parse_printf_format((format), ELEMENTSOF(_argtypes), _argtypes); \
assert(_k < ELEMENTSOF(_argtypes)); \
for (_i = 0; _i < _k; _i++) { \
if (_argtypes[_i] & PA_FLAG_PTR) { \
(void) va_arg(ap, void*); \