I took a look.  I don't think it would be hideously hacky to do something
like ...

#define EXECUTE_IF_SET_IN_BITMAP(BITMAP, MIN, BITNUM, ITER)             \
  for ((BITMAP)->ro_flag = true,                                     \
        bmp_iter_set_init (&(ITER), (BITMAP), (MIN), &(BITNUM));        \
       (BITMAP)->ro_flag = bmp_iter_set (&(ITER), &(BITNUM));                \
       bmp_iter_next (&(ITER), &(BITNUM)))

You should add a BREAK_FROM_EXECUTE_IF_SET(BITMAP) macro too, however.

Paolo

Reply via email to