Mercurial > pidgin
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; |