comparison libpurple/protocols/jabber/iq.c @ 27877:e502112a03e7

jabber: Emit jabber-receiving-iq after we've ensured id is !NULL
author Paul Aurich <paul@darkrain42.org>
date Tue, 11 Aug 2009 15:57:54 +0000
parents add3989f682e
children c585572e80dd
comparison
equal deleted inserted replaced
27876:4c6ea36672dc 27877:e502112a03e7
280 280
281 from = xmlnode_get_attrib(packet, "from"); 281 from = xmlnode_get_attrib(packet, "from");
282 id = xmlnode_get_attrib(packet, "id"); 282 id = xmlnode_get_attrib(packet, "id");
283 iq_type = xmlnode_get_attrib(packet, "type"); 283 iq_type = xmlnode_get_attrib(packet, "type");
284 284
285 signal_return = GPOINTER_TO_INT(purple_signal_emit_return_1(jabber_plugin,
286 "jabber-receiving-iq", js->gc, iq_type, id, from, packet));
287 if (signal_return)
288 return;
289
290 /* 285 /*
291 * child will be either the first tag child or NULL if there is no child. 286 * child will be either the first tag child or NULL if there is no child.
292 * Historically, we used just the 'query' subchild, but newer XEPs use 287 * Historically, we used just the 'query' subchild, but newer XEPs use
293 * differently named children. Grabbing the first child is (for the time 288 * differently named children. Grabbing the first child is (for the time
294 * being) sufficient. 289 * being) sufficient.
342 purple_debug_error("jabber", "IQ of type '%s' missing id - ignoring.\n", 337 purple_debug_error("jabber", "IQ of type '%s' missing id - ignoring.\n",
343 iq_type); 338 iq_type);
344 339
345 return; 340 return;
346 } 341 }
342
343 signal_return = GPOINTER_TO_INT(purple_signal_emit_return_1(jabber_plugin,
344 "jabber-receiving-iq", js->gc, iq_type, id, from, packet));
345 if (signal_return)
346 return;
347 347
348 /* First, lets see if a special callback got registered */ 348 /* First, lets see if a special callback got registered */
349 if(type == JABBER_IQ_RESULT || type == JABBER_IQ_ERROR) { 349 if(type == JABBER_IQ_RESULT || type == JABBER_IQ_ERROR) {
350 if((jcd = g_hash_table_lookup(js->iq_callbacks, id))) { 350 if((jcd = g_hash_table_lookup(js->iq_callbacks, id))) {
351 jcd->callback(js, from, type, id, packet, jcd->data); 351 jcd->callback(js, from, type, id, packet, jcd->data);