lh_doall_arg(lh, (LHASH_DOALL_ARG_FN_TYPE)func, NULL);
doall_util_fn(lh, 0, func, (LHASH_DOALL_ARG_FN_TYPE)NULL, NULL);
void lh_doall(LHASH *lh, LHASH_DOALL_FN_TYPE func)	{	/* Yikes that's bad - we're accepting a function that accepts 2	 * parameters (albeit we have to waive type-safety here) and then	 * forcibly calling that callback with *3* parameters leaving the 3rd	 * NULL. Obviously this "works" otherwise it wouldn't have survived so	 * long, but is it "good"??	 * FIXME: Use an internal function from this and the "_arg" version that	 * doesn't assume the ability to mutate function prototypes so badly. */	lh_doall_arg(lh, (LHASH_DOALL_ARG_FN_TYPE)func, NULL);	}