Hello, if you assign to a $var(...), it makes a deep copy in pkg memory. It is up to you to handle further the content of dst_val and free it properly.
If you set the PV_VAL_PKG (value must be in a pkg_malloc() pointer) or PV_VAL_SHM (value must be in a shm_malloc() pointer) for dst_val, then you can call pv_value_destroy() to get it freed. But it is not necessary, if you free it in the code yourself. Cheers, Daniel On 04/01/15 12:36, Luis Azedo wrote: > Hi Daniel, > > can you help on this ? > > ------------------------------------------------------------------------ > *From:* sr-dev [[email protected]] on behalf of Luis > Azedo [[email protected]] > *Sent:* Wednesday, December 31, 2014 4:19 AM > *To:* [email protected] > *Subject:* [sr-dev] need help understanding pv_value_destroy > > Hi, > > in some function that return a value with PV_VAL_PKG or PV_VAL_SHM, > the allocated memory is supposed to be freed by core ? > > script example > > my_function("some param","$var(result)"); > > in code => > dst_val->flags = PV_VAL_STR | PV_VAL_PKG; > dst_pv->setf(msg, &dst_pv->pvp, (int)EQ_T, &dst_val); > > when $var(result) is freed, will it free the allocated string ? > > > if( $(myPvar{my.mytransform,transformParameter}) == $null) { > $var(x) = $(myPvar{my.mytransform,transformParameter}); > } > > in code => > dst_val->flags = PV_VAL_STR | PV_VAL_PKG; > > will the memory allocated be freed in the comparison line ? > will the memory allocated be freed when $var(x) is freed ? > > thank you > > > > _______________________________________________ > sr-dev mailing list > [email protected] > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev -- Daniel-Constantin Mierla http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
_______________________________________________ sr-dev mailing list [email protected] http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
