On Wed Nov 29 19:45:02 2017, michal wrote: > On second thought, by using a va_list as a callback argument we lose > type safety. The code currently only uses a single call site for each > callback, so keeping callers and callees in sync is not an issue, but if > anyone has strong feelings about this, I am okay with modifying the code > to pass all the arguments explicitly instead of using a va_list. I agree. I don't even really think it's necessary to use a context struct as you did in 40562e37, but it's okay if you still want to. (I'd probably have chosen a more specific and less cumbersome name than "struct configure_zone_data", but that's just a cosmetic nit. BTW you want a different term than "callback" you could use "cfg_action" but I think it's clear enough as it is. I've reviewed all the commits; Michel asked me to be a third pair of eyes on this because I was the original author of this. I pushed a few style corrections. I'd suggest reverting the va_list change and the corresponding comment change in 8b9e2015. Other than that, this looks fine to me.