소스 검색

modules_k/presence_xml: The presentity activities check wasn't quite right.

pd 14 년 전
부모
커밋
e34040497b
1개의 변경된 파일13개의 추가작업 그리고 3개의 파일을 삭제
  1. 13 3
      modules_k/presence_xml/pres_check.c

+ 13 - 3
modules_k/presence_xml/pres_check.c

@@ -162,9 +162,19 @@ int presxml_check_activities(struct sip_msg *msg, str presentity_uri, str activi
 		{
 			if ((activitiesNode = xmlNodeGetNodeByName(person, "activities", NULL)) == NULL)
 			{
-				LM_DBG("unable to extract 'actvities' node\n");
-				retval = -2;
-				goto error;
+				LM_DBG("unable to extract 'activities' node\n");
+				if (retval <= 0)
+				{
+					retval = -2;
+				}
+			}
+			if (activitiesNode->children == NULL)
+			{
+				LM_DBG("activities node has no children\n");
+				if (retval <= 0)
+				{
+					retval = -2;
+				}
 			}
 
 			if ((activityNode = xmlNodeGetNodeByName(activitiesNode, nodeName, NULL)) != NULL)