[Users] Re: [Devel] test return code in config file
Klaus Darilion
klaus.mailinglists at pernau.at
Wed Jun 29 22:58:19 CEST 2005
cool - I recently reviewed ser's code to add an "exit" command myself :-)
Conclusion for myself:
break; leaves current route block, identical to return(1)
exit; leaves entire script, identical to return(0)
regards,
klaus
Daniel-Constantin Mierla wrote:
>
>
> On 06/29/05 18:36, Klaus Darilion wrote:
>
>> Bogdan-Andrei Iancu wrote:
>>
>>>
>>>>
>>>> Is there a differnce between
>>>> return(0);
>>>> and
>>>> break;
>>>> ?
>>>>
>>> just to clarify a little bit - the return code convention is like
>>> this: if a function returns 0, the entire script execution will be
>>> stopped. If is a negative value -> false; if positive ->true.
>>> Now, return(0) returns with code 0 -> is the same as exit -> it will
>>> terminated the script execution.
>>> on the other hand, break is used to terminate only the current route
>>> (is similar to return(1) )
>>
>>
>>
>> Are you sure?
>
>
> yes.
>
>> AFAIK break; return 0
>
>
> that happens in ser, but has changed in openser to keep the
> compatibility -- in ser, break exists from current route and if(route())
> is always true if there was a break.
>
> This is a bug is ser because many functions exported for use in config
> rely that when returning 0, no further processing takes place (e.g.,
> t_newtran() returns 0 if detects retransmission and if the t_newtran()
> is used in other route than 0, the retransmissions are processed).
>
> So, in openser, 'break' is return(1) and there is also 'exit' which is
> return(0).
>
>> If return(0) also returns 0, then it is like break and only exits from
>> the current route block.
>>
>> If your statement is correct, it is possible to exit ser.cfg from any
>> route block by return(0)?
>
>
> yes, you can exit cfg from any route -- you can use also 'exit' which is
> more appropriate as name.
>
>> I didn't knew that.
>
>
> It is written in the file with changes from ser to openser, but maybe
> not that obviously.
>
>
> Regards,
> Daniel
>
>>
>> regards,
>> klaus
>>
>
>
More information about the Users
mailing list