X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fforeach%2Fforeach.h;fp=ccan%2Fforeach%2Fforeach.h;h=8e08548f5e33874715ad6bcd65f4b9ab40169fd8;hp=73c4c693ebf7f58297b092f943716d07701f809b;hb=e2fc21e505ed7dd5bcf1fe2ad7a5c1000e743cee;hpb=a95fc43fbef22efa0a41b3ce86a732bb57ad9ef5 diff --git a/ccan/foreach/foreach.h b/ccan/foreach/foreach.h index 73c4c693..8e08548f 100644 --- a/ccan/foreach/foreach.h +++ b/ccan/foreach/foreach.h @@ -44,7 +44,7 @@ */ #define foreach_ptr(i, ...) \ for (unsigned _foreach_i \ - = (((i) = ((const void *[]){ __VA_ARGS__ })[0]), 0); \ + = (((i) = (void *)((FOREACH_TYPEOF(i)[]){ __VA_ARGS__ })[0]), 0); \ (i); \ (i) = (void *)((FOREACH_TYPEOF(i)[]) \ { __VA_ARGS__, NULL})[++_foreach_i], \ @@ -59,13 +59,13 @@ (i) = (int[]) { __VA_ARGS__, 0 }[_foreach_iter_inc(&(i))]) #define foreach_ptr(i, ...) \ - for ((i) = ((FOREACH_TYPEOF(i)[]){ __VA_ARGS__ })[0], \ + for ((i) = (void *)((FOREACH_TYPEOF(i)[]){ __VA_ARGS__ })[0], \ _foreach_iter_init(&(i)); \ (i); \ (i) = (void *)((FOREACH_TYPEOF(i)[]){ __VA_ARGS__, NULL }) \ [_foreach_iter_inc(&(i))], \ _foreach_no_nullval(_foreach_iter(&(i)), i, \ - ((void *[]){ __VA_ARGS__}))) + ((const void *[]){ __VA_ARGS__}))) void _foreach_iter_init(const void *i); unsigned int _foreach_iter(const void *i);