comparison src/oscar.c @ 1106:5bc8fdacd2cb

[gaim-migrate @ 1116] lots of changes. buddy.c: just in general tried to get things to work better. moving things in the edit list window and signing off should be handled better in the main buddy list window (watch out for flashes). gaim.h: removed toc-specific things and moved them to toc.c and rvous.c as needed. gtkhtml.c: possible fix for AOL 6.0 problems (I wasn't able to reproduce the problem before or after the fix, but i fixed what i think might have been causing the problem). multi.c: moved LOGIN_STEPS from gaim.h here and actually use it now oscar.c: moved an oscar-specific struct definition from gaim.h here and also handle problems better perl.c: fix for stupid problem rvous.c: first pass at attempt to be able to remove toc.c and rvous.c (though this will never happen; gaim will support toc as long as aol does) without cruft. gaim is now only dependent on toc.c and rvous.c for toc_build_config and parse_toc_buddy_list, which gaim needs to save and read its buddy list. toc.c: rewrote the signin process so that the read()'s won't block. it's not actually a non-blocking read; it's just that it won't ever get to the read until there's data to be read (thanks to the gdk_input watcher). this means the cancel button should work after it's connected, but it's still not a non-blocking connect. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Mon, 20 Nov 2000 07:24:18 +0000
parents f168625b63fe
children c61f9c384413
comparison
equal deleted inserted replaced
1105:c964df5b2a84 1106:5bc8fdacd2cb
68 int create_exchange; 68 int create_exchange;
69 char *create_name; 69 char *create_name;
70 70
71 GSList *oscar_chats; 71 GSList *oscar_chats;
72 GSList *direct_ims; 72 GSList *direct_ims;
73 };
74
75 struct chat_connection {
76 char *name;
77 int fd; /* this is redundant since we have the conn below */
78 struct aim_conn_t *conn;
79 int inpa;
73 }; 80 };
74 81
75 struct direct_im { 82 struct direct_im {
76 struct gaim_connection *gc; 83 struct gaim_connection *gc;
77 char name[80]; 84 char name[80];
349 g_free(finalauth); 356 g_free(finalauth);
350 357
351 if (conn == NULL) { 358 if (conn == NULL) {
352 debug_print(_("internal connection error\n")); 359 debug_print(_("internal connection error\n"));
353 hide_login_progress(gc, _("Unable to login to AIM")); 360 hide_login_progress(gc, _("Unable to login to AIM"));
354 serv_close(gc); 361 signoff(gc);
355 return; 362 return;
356 } else if (conn->fd == -1) { 363 } else if (conn->fd == -1) {
357 if (conn->status & AIM_CONN_STATUS_RESOLVERR) { 364 if (conn->status & AIM_CONN_STATUS_RESOLVERR) {
358 sprintf(debug_buff, _("couldn't resolve host")); 365 sprintf(debug_buff, _("couldn't resolve host"));
359 debug_print(debug_buff); debug_print("\n"); 366 debug_print(debug_buff); debug_print("\n");
361 } else if (conn->status & AIM_CONN_STATUS_CONNERR) { 368 } else if (conn->status & AIM_CONN_STATUS_CONNERR) {
362 sprintf(debug_buff, _("couldn't connect to host")); 369 sprintf(debug_buff, _("couldn't connect to host"));
363 debug_print(debug_buff); debug_print("\n"); 370 debug_print(debug_buff); debug_print("\n");
364 hide_login_progress(gc, debug_buff); 371 hide_login_progress(gc, debug_buff);
365 } 372 }
366 serv_close(gc); 373 signoff(gc);
367 return; 374 return;
368 } 375 }
369 g_snprintf(buf, sizeof(buf), _("Signon: %s"), gc->username); 376 g_snprintf(buf, sizeof(buf), _("Signon: %s"), gc->username);
370 set_login_progress(gc, 2, buf); 377 set_login_progress(gc, 2, buf);
371 378
465 if (bosconn == NULL) { 472 if (bosconn == NULL) {
466 #ifdef USE_APPLET 473 #ifdef USE_APPLET
467 set_user_state(offline); 474 set_user_state(offline);
468 #endif 475 #endif
469 hide_login_progress(gc, _("Internal Error")); 476 hide_login_progress(gc, _("Internal Error"));
470 serv_close(gc); 477 signoff(gc);
471 return -1; 478 return -1;
472 } else if (bosconn->status & AIM_CONN_STATUS_CONNERR) { 479 } else if (bosconn->status & AIM_CONN_STATUS_CONNERR) {
473 #ifdef USE_APPLET 480 #ifdef USE_APPLET
474 set_user_state(offline); 481 set_user_state(offline);
475 #endif 482 #endif
476 hide_login_progress(gc, _("Could Not Connect")); 483 hide_login_progress(gc, _("Could Not Connect"));
477 serv_close(gc); 484 signoff(gc);
478 return -1; 485 return -1;
479 } 486 }
480 487
481 aim_conn_addhandler(sess, bosconn, 0x0009, 0x0003, gaim_bosrights, 0); 488 aim_conn_addhandler(sess, bosconn, 0x0009, 0x0003, gaim_bosrights, 0);
482 aim_conn_addhandler(sess, bosconn, 0x0001, 0x0007, gaim_rateresp, 0); /* rate info */ 489 aim_conn_addhandler(sess, bosconn, 0x0001, 0x0007, gaim_rateresp, 0); /* rate info */