comparison libpurple/protocols/jabber/jabber.c @ 21538:4e5bef6c3379

Fix #3669
author Daniel Atallah <daniel.atallah@gmail.com>
date Fri, 16 Nov 2007 02:41:37 +0000
parents 38cc722159ff
children 665e04562de0
comparison
equal deleted inserted replaced
21537:9dbf38f270da 21538:4e5bef6c3379
58 #include "adhoccommands.h" 58 #include "adhoccommands.h"
59 59
60 #define JABBER_CONNECT_STEPS (js->gsc ? 9 : 5) 60 #define JABBER_CONNECT_STEPS (js->gsc ? 9 : 5)
61 61
62 static PurplePlugin *my_protocol = NULL; 62 static PurplePlugin *my_protocol = NULL;
63 GList *jabber_features; 63 GList *jabber_features = NULL;
64 64
65 static void jabber_unregister_account_cb(JabberStream *js); 65 static void jabber_unregister_account_cb(JabberStream *js);
66 66
67 static void jabber_stream_init(JabberStream *js) 67 static void jabber_stream_init(JabberStream *js)
68 { 68 {
207 jabber_presence_parse(js, *packet); 207 jabber_presence_parse(js, *packet);
208 } else if(!strcmp((*packet)->name, "message")) { 208 } else if(!strcmp((*packet)->name, "message")) {
209 jabber_message_parse(js, *packet); 209 jabber_message_parse(js, *packet);
210 } else if(!strcmp((*packet)->name, "stream:features")) { 210 } else if(!strcmp((*packet)->name, "stream:features")) {
211 jabber_stream_features_parse(js, *packet); 211 jabber_stream_features_parse(js, *packet);
212 } else if (!strcmp((*packet)->name, "features") && 212 } else if (!strcmp((*packet)->name, "features") && xmlns &&
213 !strcmp(xmlns, "http://etherx.jabber.org/streams")) { 213 !strcmp(xmlns, "http://etherx.jabber.org/streams")) {
214 jabber_stream_features_parse(js, *packet); 214 jabber_stream_features_parse(js, *packet);
215 } else if(!strcmp((*packet)->name, "stream:error") || 215 } else if(!strcmp((*packet)->name, "stream:error") ||
216 (!strcmp((*packet)->name, "error") && 216 (!strcmp((*packet)->name, "error") && xmlns &&
217 !strcmp(xmlns, "http://etherx.jabber.org/streams"))) 217 !strcmp(xmlns, "http://etherx.jabber.org/streams")))
218 { 218 {
219 jabber_stream_handle_error(js, *packet); 219 jabber_stream_handle_error(js, *packet);
220 } else if(!strcmp((*packet)->name, "challenge")) { 220 } else if(!strcmp((*packet)->name, "challenge")) {
221 if(js->state == JABBER_STREAM_AUTHENTICATING) 221 if(js->state == JABBER_STREAM_AUTHENTICATING)
1382 if(!strcmp(feat->shortname, shortname)) { 1382 if(!strcmp(feat->shortname, shortname)) {
1383 g_free(feat->shortname); 1383 g_free(feat->shortname);
1384 g_free(feat->namespace); 1384 g_free(feat->namespace);
1385 1385
1386 g_free(feature->data); 1386 g_free(feature->data);
1387 feature = g_list_delete_link(feature, feature); 1387 jabber_features = g_list_delete_link(jabber_features, feature);
1388 break; 1388 break;
1389 } 1389 }
1390 } 1390 }
1391 } 1391 }
1392 1392