Mercurial > pidgin.yaz
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 |