On 12/13/11 1:03 PM, Juha Heinanen wrote:
Daniel-Constantin Mierla writes:
Thus, no matter what code you return from a subroute, you have to compare against 0 (for negative return code) or 1 (for positive return code).
Solutions/alternatives:
is it not an alternative to fix to change the current implementation so that the real return code of route block could be tested?
coding wise might not be a lot, thus I haven't analyzed all the cases where functions are evaluated by return code, but it will impact and break config file as it used to be so far, for example:
route[x] { return -1; }
if(route(x)) will be true, since if(-1) is true in C All conditions with functions have to be changed in:
if( f()<0 ) for false cases if( f(x) > 0) for true cases
At this moment I cannot say for sure if there can be done some workaround to get return code and keep old behavior, at first sight seems unlikely.
Cheers, Daniel