Module: sip-router Branch: master Commit: a21137507bea759d4945402dc47486ac324724db URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=a21137507bea759d4945402dc47486ac324724db
Author: Victor Seva <[email protected]> Committer: Victor Seva <[email protected]> Date: Wed May 29 12:25:50 2013 +0200 core: added helper function pv_cache_get_name() in order to get the name of a pv_spec_t on pv_cache. --- pvapi.c | 30 ++++++++++++++++++++++++++++++ pvar.h | 1 + 2 files changed, 31 insertions(+), 0 deletions(-) diff --git a/pvapi.c b/pvapi.c index 6245ee9..98b3d90 100644 --- a/pvapi.c +++ b/pvapi.c @@ -357,6 +357,36 @@ pv_spec_t* pv_cache_get(str *name) return pv_cache_add(&tname); } +str* pv_cache_get_name(pv_spec_t *spec) +{ + int i; + pv_cache_t *pvi; + if(spec==NULL) + { + LM_ERR("invalid parameters\n"); + return NULL; + } + + if(_pv_cache_set==0) + return NULL; + + for(i=0;i<PV_CACHE_SIZE;i++) + { + pvi = _pv_cache[i]; + while(pvi) + { + if(&pvi->spec == spec) + { + LM_DBG("pvar[%p]->name[%.*s] found in cache\n", spec, + pvi->pvname.len, pvi->pvname.s); + return &pvi->pvname; + } + pvi = pvi->next; + } + } + return NULL; +} + /** * */ diff --git a/pvar.h b/pvar.h index f6d6318..c3d7b44 100644 --- a/pvar.h +++ b/pvar.h @@ -207,6 +207,7 @@ int pv_free_extra_list(void); int pv_locate_name(str *in); pv_spec_t* pv_cache_get(str *name); +str* pv_cache_get_name(pv_spec_t *spec); /*! \brief PV helper functions */ int pv_get_null(struct sip_msg *msg, pv_param_t *param, pv_value_t *res); _______________________________________________ sr-dev mailing list [email protected] http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
