[SR-Users] Stripping variable amount of digits

Daniel-Constantin Mierla miconda at gmail.com
Thu Sep 16 20:49:04 CEST 2010


  Hi Inaki,

that works with string transformations:
- in older versions, use s.substr
- in last one there is s.strip

Cheers,
Daniel

On 9/16/10 8:28 PM, Iñaki Baz Castillo wrote:
> 2010/9/16 Iñaki Baz Castillo<ibc at aliax.net>:
>> Hi, I get a prefix string from a database and store it in
>> $var(prefix). Such prefix can contain any number of digits (no fixed
>> length).
>> Now I must to check if the RURI username begins with that prefix and
>> in that case strip it.
>>
>> I can get the first step (detect it) using pcre_match function:
>>
>>   if pcre_match("$rU", "^$var(prefix)") {
>>     # Prefix match.
>>
>>
>> But I cannot get the second part working (stripping it). I've tryed everything:
>>
>> - strip() is not valid as just allows an integer (no pv).
>>
>> - subst_user() doesn't accept pv:
>>      if subst_user("/^$var(prefix)(.*)$/\1/")
>>
>>
>> Any ideas please? Thanks a lot.
>
> Finally I got it in an ugly way (assuming that prefix has as maximun 7 digits):
>
> -------------------
>      # Check that the dialed number begins with the
>      # configured 'prefix_in'. If not drop the call.
>      #
>      if ! pcre_match("$rU", "^$var(prefix)") {
>        xlog("L_NOTICE", "prefix doesn't match =>403\n");
>        send_reply("403", "Forbidden: Wrong Prefix");
>        exit;
>      }
>
>      # If so, strip the prefix.
>      #
>      $var(prefix_in_length) = $(var(client_prefix_in){s.len});
>      switch($var(prefix_in_length)) {
>        case 1:
>          strip(1);
>          break;
>        case 2:
>          strip(2);
>          break;
>        case 3:
>          strip(3);
>          break;
>        case 4:
>          strip(4);
>          break;
>        case 5:
>          strip(5);
>          break;
>        case 6:
>          strip(6);
>          break;
>        case 7:
>          strip(7);
>          break;
>      }
> ------------------
>
>
> Any suggestion providing a more ellegant way is welcome :)
>

-- 
Daniel-Constantin Mierla
http://www.asipto.com




More information about the sr-users mailing list