comparison src/protocols/jabber/jabber.c @ 2800:0ad63a625eec

[gaim-migrate @ 2813] hm committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Tue, 27 Nov 2001 09:57:48 +0000
parents 8f6365332a05
children f4f9e5a01890
comparison
equal deleted inserted replaced
2799:72357bddb0f3 2800:0ad63a625eec
124 gboolean did_import; 124 gboolean did_import;
125 GSList *pending_chats; 125 GSList *pending_chats;
126 GSList *existing_chats; 126 GSList *existing_chats;
127 GHashTable *hash; 127 GHashTable *hash;
128 time_t idle; 128 time_t idle;
129 gboolean die;
129 }; 130 };
130 131
131 struct jabber_chat { 132 struct jabber_chat {
132 jid Jid; 133 jid Jid;
133 struct gaim_connection *gc; 134 struct gaim_connection *gc;
330 331
331 if (!j || j->state == JCONN_STATE_OFF) 332 if (!j || j->state == JCONN_STATE_OFF)
332 return; 333 return;
333 334
334 if ((len = read(j->fd, buf, sizeof(buf) - 1))) { 335 if ((len = read(j->fd, buf, sizeof(buf) - 1))) {
336 struct jabber_data *jd = GJ_GC(j)->proto_data;
335 buf[len] = '\0'; 337 buf[len] = '\0';
336 debug_printf("input (len %d): %s\n", len, buf); 338 debug_printf("input (len %d): %s\n", len, buf);
337 XML_Parse(j->parser, buf, len, 0); 339 XML_Parse(j->parser, buf, len, 0);
340 if (jd->die)
341 signoff(GJ_GC(j));
338 } else if (len <= 0) { 342 } else if (len <= 0) {
339 STATE_EVT(JCONN_STATE_OFF) 343 STATE_EVT(JCONN_STATE_OFF)
340 } 344 }
341 } 345 }
342 346
981 gjab_reqroster(j); 985 gjab_reqroster(j);
982 } else { 986 } else {
983 xmlnode xerr; 987 xmlnode xerr;
984 char *errmsg = NULL; 988 char *errmsg = NULL;
985 int errcode = 0; 989 int errcode = 0;
990 struct jabber_data *jd = GJ_GC(j)->proto_data;
986 991
987 debug_printf("auth failed\n"); 992 debug_printf("auth failed\n");
988 xerr = xmlnode_get_tag(p->x, "error"); 993 xerr = xmlnode_get_tag(p->x, "error");
989 if (xerr) { 994 if (xerr) {
990 char msg[BUF_LONG]; 995 char msg[BUF_LONG];
997 hide_login_progress(GJ_GC(j), msg); 1002 hide_login_progress(GJ_GC(j), msg);
998 } else { 1003 } else {
999 hide_login_progress(GJ_GC(j), "Unknown login error"); 1004 hide_login_progress(GJ_GC(j), "Unknown login error");
1000 } 1005 }
1001 1006
1002 signoff(GJ_GC(j)); 1007 jd->die = TRUE;
1003 } 1008 }
1004 } 1009 }
1005 1010
1006 static void jabber_handleversion(gjconn j, xmlnode iqnode) { 1011 static void jabber_handleversion(gjconn j, xmlnode iqnode) {
1007 xmlnode querynode, x; 1012 xmlnode querynode, x;