jingle-filetransfer/filetransfer.c
changeset 31 02f5698ffa49
parent 26 af14f8f5a2b6
child 32 72bbe33f151a
--- a/jingle-filetransfer/filetransfer.c	Mon Jul 05 00:17:44 2010 +0200
+++ b/jingle-filetransfer/filetransfer.c	Mon Jul 05 00:52:27 2010 +0200
@@ -35,7 +35,6 @@
 
 
 gconstpointer jingle_ft_check(JingleContent *cn, GError **err, gpointer *data);
-gconstpointer jingle_ft_parse(JingleContent *cn, GError **err, gpointer *data);
 static void jingle_ft_init(void);
 static void jingle_ft_uninit(void);
 
@@ -59,17 +58,23 @@
 gconstpointer jingle_ft_check(JingleContent *cn, GError **err, gpointer *data)
 {
   JingleFT *ft = NULL;
-  LmMessageNode *node;
+  LmMessageNode *node, *description;
   const gchar *datestr, *sizestr;
 
-  node = lm_message_node_get_child(cn->node, "description");
+  description = lm_message_node_get_child(cn->node, "description");
+  if (!description) {
+    g_set_error(err, JINGLE_CHECK_ERROR, JINGLE_CHECK_ERROR_MISSING, "Huh ?");
+    return NULL;
+  }
+
+  node = lm_message_node_get_child(description, "offer");
   if (!node) {
     g_set_error(err, JINGLE_CHECK_ERROR, JINGLE_CHECK_ERROR_MISSING,
                 "the offer element is missing");
     return NULL;
   }
 
-  node = lm_message_node_get_child(cn->description, "file");
+  node = lm_message_node_get_child(description, "file");
   if (!node) {
     g_set_error(err, JINGLE_CHECK_ERROR, JINGLE_CHECK_ERROR_MISSING,
                 "the file element is missing");