<div dir="ltr"><div>My previous answer was not very helpful, lets try again (not tested)<br><br></div><div>Your example :<br></div><div><br>The following code produces "c=d;e=f;"<br>    $xavp(x=>e) = "f";<br>    $xavp(x[0]=>c) = "d";<br>    $xavp(x[1]=>e) = "z";<br>    $xavp(x[1]=>c) = "y";<br>    xavp_params_implode("x", "$var(out)");<br><br><br>Since you know what are the sub-elements, you could do :<br><br>   $var(i) = 0;<br>   while ($var(i) < 2) {    <br>      xinfo("$xavp(x[$var(i)]=>c) \n");<br>      xinfo("$xavp(x[$var(i)]=>e) \n");<br>      $var(i) = $var(i) + 1;<br>   }<br><br><br>I am quite sure you can not pass an index to xavp_params_implode, so one way to use xavp_params_implode would be to xavp_copy to a new xavp to have default index.<br><br>   $var(i) = 0;<br>   while ($var(i) < 2) {<br>      xavp_copy("x", $var(i), "y");<br>      xavp_params_implode("y", "$var(out)");    <br>      xinfo("$var(out)\n");<br>      $var(i) = $var(i) + 1;<br>   }</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 20, 2020 at 4:48 PM Ovidiu Sas <<a href="mailto:osas@voipembedded.com">osas@voipembedded.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">xavp_copy() is available only in dev.<br>
How can you copy an entire xavp, not just an element, without knowing<br>
the size of the stack?<br>
This doesn't work:<br>
    $var(i) = 0;<br>
    while (pv_isset("$xavp(x[$var(i)])")) {<br>
        xavp_copy("x", "$var(i)", "y");<br>
        $var(i) = $var(i) + 1;<br>
    }<br>
<br>
<br>
-ovidiu<br>
<br>
On Mon, Jan 20, 2020 at 6:34 PM Julien Chavanton <<a href="mailto:jchavanton@gmail.com" target="_blank">jchavanton@gmail.com</a>> wrote:<br>
><br>
> Hi,<br>
><br>
> To print all the elements in the stack, you will have to do a while loop.<br>
> (You can make a copy using xavp_copy, it may come in handy in some cases)<br>
> while (pv_unset("$xavp(name)")) {<br>
>          // xavp_params_implode<br>
>         if(!defined $xavp(name)) {<br>
>                 break;<br>
>         }<br>
> }<br>
><br>
><br>
> Or if you know how many elements are present in the stack or you could use<br>
> while ($var(i) < x) {<br>
>     xavp_params_implode($xavp(route_set[$var(i)]....))<br>
>     $var(i) = $var(i) + 1;<br>
> }<br>
><br>
> Quick answer ...<br>
><br>
><br>
> On Mon, Jan 20, 2020 at 2:08 PM Ovidiu Sas <<a href="mailto:osas@voipembedded.com" target="_blank">osas@voipembedded.com</a>> wrote:<br>
>><br>
>> What's the best way to print the entire content of an xavp?<br>
>> The xavp_params_implode() doesn't print the entire stack of an xavp,<br>
>> only the top layer:<br>
>><br>
>> The following code produces "c=d;e=f;"<br>
>>     $xavp(x=>e) = "f";<br>
>>     $xavp(x[0]=>c) = "d";<br>
>>     $xavp(x[1]=>e) = "z";<br>
>>     $xavp(x[1]=>c) = "y";<br>
>>     xavp_params_implode("x", "$var(out)");<br>
>><br>
>> Is there a way to print everything inside $xavp(x)?<br>
>><br>
>> Thanks,<br>
>> Ovidiu<br>
>><br>
>> _______________________________________________<br>
>> Kamailio (SER) - Users Mailing List<br>
>> <a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a><br>
>> <a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
><br>
> _______________________________________________<br>
> Kamailio (SER) - Users Mailing List<br>
> <a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a><br>
> <a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
<br>
<br>
<br>
-- <br>
VoIP Embedded, Inc.<br>
<a href="http://www.voipembedded.com" rel="noreferrer" target="_blank">http://www.voipembedded.com</a><br>
<br>
_______________________________________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote></div>