do { \
u32 __fheap_foreach_first_ni = (first_ni); \
u32 __fheap_foreach_ni = __fheap_foreach_first_ni; \
u32 __fheap_foreach_next_ni; \
fheap_node_t * __fheap_foreach_n; \
if (__fheap_foreach_ni != ~0) \
while (1) \
{ \
__fheap_foreach_next_ni = __fheap_foreach_n -> next_sibling; \
(ni) = __fheap_foreach_ni; \
\
body; \
\
\
if (__fheap_foreach_next_ni == __fheap_foreach_first_ni) \
break; \
\
__fheap_foreach_ni = __fheap_foreach_next_ni; \
\
} \
} while (0)
static fheap_node_t * fheap_get_node(fheap_t *f, u32 i)