X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fforeach%2Fforeach.h;h=71b4c0282f8e5b561d9c0f607ee8ca67d111d1eb;hp=73c4c693ebf7f58297b092f943716d07701f809b;hb=6a8d296f9383dd25ec381e2ab136a33823d140e5;hpb=b824ee6e4ad48687325106c60ddb7f0b43565189 diff --git a/ccan/foreach/foreach.h b/ccan/foreach/foreach.h index 73c4c693..71b4c028 100644 --- a/ccan/foreach/foreach.h +++ b/ccan/foreach/foreach.h @@ -1,3 +1,4 @@ +/* Licensed under LGPLv3+ - see LICENSE file for details */ #ifndef CCAN_FOREACH_H #define CCAN_FOREACH_H #include "config.h" @@ -44,7 +45,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 +60,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);