Browse Source

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

pd 14 years ago
parent
commit
e34040497b
1 changed files with 13 additions and 3 deletions
  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)