Răsfoiți Sursa

core: fixed xavp level cloning function

- new function introduced recently for usrloc usage
Daniel-Constantin Mierla 12 ani în urmă
părinte
comite
88dd1f3048
1 a modificat fișierele cu 6 adăugiri și 1 ștergeri
  1. 6 1
      xavp.c

+ 6 - 1
xavp.c

@@ -549,7 +549,9 @@ sr_xavp_t *xavp_clone_level_nodata(sr_xavp_t *xold)
 	sr_xavp_t *pavp = NULL;
 
 	if(xold == NULL)
+	{
 		return NULL;
+	}
 	if(xold->val.type==SR_XTYPE_DATA)
 	{
 		LM_INFO("xavp value type is 'data' - ignoring in clone\n");
@@ -563,18 +565,21 @@ sr_xavp_t *xavp_clone_level_nodata(sr_xavp_t *xold)
 	}
 
 	if(xold->val.type!=SR_XTYPE_XAVP)
+	{
 		return xnew;
+	}
 
 	xnew->val.v.xavp = NULL;
 	oavp = xold->val.v.xavp;
 
 	while(oavp)
 	{
-		if(xold->val.type!=SR_XTYPE_DATA && xold->val.type!=SR_XTYPE_XAVP)
+		if(oavp->val.type!=SR_XTYPE_DATA && oavp->val.type!=SR_XTYPE_XAVP)
 		{
 			navp =  xavp_new_value(&oavp->name, &oavp->val);
 			if(navp==NULL)
 			{
+				LM_ERR("cannot create cloned embedded xavp\n");
 				if(xnew->val.v.xavp == NULL)
 				{
 					shm_free(xnew);