[sr-dev] re.subst stopped working

Daniel-Constantin Mierla miconda at gmail.com
Thu Aug 18 15:52:08 CEST 2011



On 8/18/11 3:45 PM, Alex Hermann wrote:
> On Thursday 18 August 2011, Juha Heinanen wrote:
>> there was recently a commit related to re.subst.  looks like it broke
>> one of my re.substs that used to work before:
>>
>> $(rb{re.subst,/[\n\r\t]//g})
>>
>> Aug 18 15:43:54 sip /usr/sbin/sip-proxy[14727]: ERROR:<core>  [re.c:235]:
>> ERROR: subst_parser: expression is too short: /[ Aug 18 15:43:54 sip
>> /usr/sbin/sip-proxy[14727]: ERROR: textops [txt_var.c:230]: invalid
>> transformation [subst,/[#012#015#011]//g}]<8>  Aug 18 15:43:54 sip
>> /usr/sbin/sip-proxy[14727]: ERROR:<core>  [pvapi.c:1303]: error parsing
>> [{re.subst,/[#012#015#011]//g}] Aug 18 15:43:54 sip
>> /usr/sbin/sip-proxy[14727]: ERROR:<core>  [pvapi.c:698]: bad tr in pvar
>> name "rb" Aug 18 15:43:54 sip /usr/sbin/sip-proxy[14727]: ERROR:<core>
>> [pvapi.c:724]: invalid parsing in
>> [$(rb{re.subst,/[#012#015#011]//g})>#012] at (4)
>>
>> my testing is pretty much stuck before this is fixed.
> I'll try to fix this later today. As a temporary workaround you can use:
>
> $var(re) = "/[\n\r\t]//g";
> xlog("RB2: $(rb{re.subst,$var(re)})");
>
>
> Question for the script parser experts: are special characters in strings
> supposed to be expanded before they are given to the underlying C functions?
Depends on what the underlying C function expects. The parser is 
converting escaped characters to their byte code.

Cheers,
Daniel
-- 
Daniel-Constantin Mierla -- http://www.asipto.com
Kamailio Advanced Training, Oct 10-13, Berlin: http://asipto.com/u/kat
http://linkedin.com/in/miconda -- http://twitter.com/miconda




More information about the sr-dev mailing list