When pretty-printing an array, don't display 0 elements.

This commit is contained in:
Benoit Dejean
2015-02-28 02:27:52 +01:00
committed by Robert Roth
parent f76b37be1b
commit e2348c24a0

View File

@@ -24,10 +24,17 @@
#define PPRINT_ARRAY(ARRAY, SIZE, FORMAT) do { \
size_t i; \
printf("\t%4lu B %3lu " #ARRAY "[%lu] = { ", \
(unsigned long) sizeof buf.ARRAY, (unsigned long) buf_offsetof(ARRAY),\
(unsigned long) sizeof buf.ARRAY, \
(unsigned long) buf_offsetof(ARRAY), \
(unsigned long) G_N_ELEMENTS(buf.ARRAY)); \
for(i = 0; i < (SIZE - 1); ++i) printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \
printf(".%u = " FORMAT " }\n", SIZE - 1 , buf.ARRAY[SIZE - 1]); \
for (i = 0; i < (SIZE); ++i) { \
printf(".%u = " FORMAT ", ", i, buf.ARRAY[i]); \
if (!buf.ARRAY[i] && i < (SIZE - 1) && !buf.ARRAY[i + 1]) { \
do { i++; } while (i < SIZE && !buf.ARRAY[i]); \
printf("..., "); \
} \
} \
printf("}\n"); \
} while(0)
#define PPRINT_ENTRY_ARRAY(ARRAY, SIZE) do { \