On Oct 1, 2009, at 10:21 AM, jean-frederic clere wrote:
I mean if doall returns APR_INCOMPLETE, it means that it stopped at
some point within the loop.
Yes
But how would the caller know where and how would the caller
re-start the loop but say "start here instead"?
That would be the problem of the caller. If the callback stops the
doall loop it should have the logic to skip the slots it already
processed no?
Yeah, but the params to doall() don't provide enough info for that.
Or do you mean that doall would always return APR_SUCCESS but
the internal loop of doall could terminate somewhere within
the loop?
That was my first idea... If we choose to go that way it is easy :-)
OK... how about if we have the doall callback return an apr_status_t
and the internal loop in the doalls continue the loop with an
APR_SUCCESS
and immediately stop on anything else (and return that to the orig
callee).
So APR_SUCCESS means I went through each element of the slot,
APR_INCOMPLETE means I stopped somewhere inside there and all
all others (like APR_EGENERAL) mean something that hopefully makes
sense to the callee :)