jingle/check.c
changeset 58 daafe5b8a48d
parent 32 72bbe33f151a
child 90 b250d32fea87
--- a/jingle/check.c	Mon Jul 19 22:43:30 2010 +0200
+++ b/jingle/check.c	Tue Jul 20 00:52:21 2010 +0200
@@ -69,7 +69,7 @@
     return FALSE;
   }
 
-  if (!check_jid_syntax(jn->initiator)) {
+  if (check_jid_syntax(jn->initiator)) {
     g_set_error(err, JINGLE_CHECK_ERROR, JINGLE_CHECK_ERROR_BADVALUE,
                 "the initiator attribute in invalid (not a jid)");
     return FALSE;
@@ -120,15 +120,17 @@
 
   tmp = index_in_array(creatorstr, jingle_content_creator);
   tmp2 = index_in_array(sendersstr, jingle_content_senders);
-  if (tmp < 0 || tmp2 < 0) {
+  if (tmp < 0 || (tmp2 < 0 && sendersstr != NULL)) {
     g_set_error(err, JINGLE_CHECK_ERROR, JINGLE_CHECK_ERROR_BADVALUE,
                 "the attribute creator or sender is invalid");
     g_free(cn);
     return NULL;
   }
   cn->creator = (JingleCreator)tmp;
-  cn->senders = (JingleSenders)tmp2;
-
+  if(sendersstr != NULL)
+    cn->senders = (JingleSenders)tmp2;
+  else
+    cn->senders = JINGLE_SENDERS_BOTH;
   cn->description = lm_message_node_get_child(node, "description");
   cn->transport   = lm_message_node_get_child(node, "transport");
   if (cn->description == NULL || cn->transport == NULL) {