On 02/22/2012 09:45 AM, Sven Knoblich wrote:
Hello all,
i am currently confused by using the avpops function avp_delete. When i
run avp_delete without the flag-value \g only the last value will be
unset (like an undo). Is this the wanted behaviour?
Hello Sven,
After looking thru the code it seems that this is the wanted behaviour
(something like sed with /g switch) even in 3.x (master).
From the fixup function of avp_delete :
<code>
case 'g':
case 'G':
ap->ops|=AVPOPS_FLAG_ALL;
</code>
This flag is sent as the /all /parameter in destroy_avps in usr_avp.c
method. (The avp's are inserted in memory in reversed order so it's a
Last In First Out type structure)
Cheers
Marius
EXAMPLE:
$avp(test) = "test"
if( $avp(test)){xlog("L_NOTICE","result1:$avp(test)\n");}
$avp(test) = "nooo";
if( $avp(test)){xlog("L_NOTICE","result2:$avp(test)\n");}
avp_delete("$avp(test)");
if( $avp(test)){xlog("L_NOTICE","result3:$avp(test)\n");}
RESULT:
result1:test
result2:nooo
result3:test
Could anybody helps me to understand that?
thanks in advance,
Sven
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Zbihlei Marius
Head of
Linux Development Services Romania
1&1 Internet Development srl Tel KA: 754-9152
Str Mircea Eliade 18 Tel RO: +40-31-223-9152
Sect 1, Bucuresti mailto: marius.zbihlei(a)1and1.ro
71295, Romania