chiark / gitweb /
journal, shared: fix warnings during compilation on 32 bits
[elogind.git] / src / shared / macro.h
index 0dd210afa7c419dcf362281134f325ed3542616b..e930fdab5333e13ed00535e7c820be1247a8ffa1 100644 (file)
@@ -192,11 +192,14 @@ static inline size_t IOVEC_INCREMENT(struct iovec *i, unsigned n, size_t k) {
 #define _cleanup_close_ __attribute__((cleanup(closep)))
 #define _cleanup_closedir_ __attribute__((cleanup(closedirp)))
 #define _cleanup_umask_ __attribute__((cleanup(umaskp)))
+#define _cleanup_strv_free_ __attribute__((cleanup(strv_freep)))
 
-#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*);                       \