comparison src/util.c @ 14089:10e8eb6a4910

[gaim-migrate @ 16712] Pretty large commit here. Basically I got sick of having to verify that gc is still valid on all the callback functions for gaim_proxy_connect(). The fix for this for gaim_proxy_connect() to return something that allows the connection attempt to be canceled. It's not quite there yet, but this is a good first step. I changed gaim_proxy_connect() to return a reference to a new GaimProxyConnectInfo (this used to be called PHB). Eventually this can be passed to a function that'll cancel the connection attempt. I also decided to add an error_cb instead of using connect_cb and passing a file descriptor of -1. And proxy.c will also pass an error message to callers which should explain the reason that the connection attempt failed. Oh, and proxy.c now never calls gaim_connection_error() committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sat, 12 Aug 2006 10:12:43 +0000
parents 426a98fa4527
children 7a205b430d19
comparison
equal deleted inserted replaced
14088:223570831b0b 14089:10e8eb6a4910
3365 gfud->inpa = gaim_input_add(source, GAIM_INPUT_READ, url_fetch_recv_cb, 3365 gfud->inpa = gaim_input_add(source, GAIM_INPUT_READ, url_fetch_recv_cb,
3366 gfud); 3366 gfud);
3367 } 3367 }
3368 3368
3369 static void 3369 static void
3370 url_fetch_connect_cb(gpointer url_data, gint source, GaimInputCondition cond) 3370 url_fetch_connect_cb(gpointer url_data, gint source)
3371 { 3371 {
3372 GaimFetchUrlData *gfud; 3372 GaimFetchUrlData *gfud;
3373 3373
3374 gfud = url_data; 3374 gfud = url_data;
3375 3375
3446 3446
3447 gaim_url_parse(url, &gfud->website.address, &gfud->website.port, 3447 gaim_url_parse(url, &gfud->website.address, &gfud->website.port,
3448 &gfud->website.page, &gfud->website.user, &gfud->website.passwd); 3448 &gfud->website.page, &gfud->website.user, &gfud->website.passwd);
3449 3449
3450 if (gaim_proxy_connect(NULL, gfud->website.address, 3450 if (gaim_proxy_connect(NULL, gfud->website.address,
3451 gfud->website.port, url_fetch_connect_cb, gfud) != 0) { 3451 gfud->website.port, url_fetch_connect_cb, NULL, gfud) == NULL)
3452 {
3452 destroy_fetch_url_data(gfud); 3453 destroy_fetch_url_data(gfud);
3453 3454
3454 cb(user_data, g_strdup(_("g003: Error opening connection.\n")), 0); 3455 cb(user_data, g_strdup(_("g003: Error opening connection.\n")), 0);
3455 } 3456 }
3456 } 3457 }