commit a74309b3080d9bc957bf9061ea1c4af27c458262 Author: Oswald Buddenhagen <o...@kde.org> Date: Fri Mar 29 17:51:50 2013 +0100
factor out socket_connect_failed() src/socket.c | 22 +++++++++++++--------- 1 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/socket.c b/src/socket.c index 3763f62..99982f9 100644 --- a/src/socket.c +++ b/src/socket.c @@ -296,6 +296,7 @@ static void start_tls_p3( conn_t *conn, int ok ) static void socket_fd_cb( int, void * ); +static void socket_connect_failed( conn_t * ); static void socket_connected2( conn_t * ); static void socket_connect_bail( conn_t * ); @@ -355,7 +356,8 @@ socket_connect( conn_t *sock, void (*cb)( int ok, void *aux ) ) he = gethostbyname( conf->host ); if (!he) { error( "IMAP error: Cannot resolve server '%s'\n", conf->host ); - goto bail; + socket_connect_bail( sock ); + return; } info( "\vok\n" ); @@ -375,9 +377,8 @@ socket_connect( conn_t *sock, void (*cb)( int ok, void *aux ) ) infon( "Connecting to %s... ", sock->name ); if (connect( s, (struct sockaddr *)&addr, sizeof(addr) )) { if (errno != EINPROGRESS) { - sys_error( "Cannot connect to %s", sock->name ); - socket_close_internal( sock ); - goto bail; + socket_connect_failed( sock ); + return; } conf_fd( s, 0, POLLOUT ); sock->state = SCK_CONNECTING; @@ -389,9 +390,14 @@ socket_connect( conn_t *sock, void (*cb)( int ok, void *aux ) ) info( "\vok\n" ); socket_connected2( sock ); return; +} - bail: - socket_connect_bail( sock ); +static void +socket_connect_failed( conn_t *conn ) +{ + sys_error( "Cannot connect to %s", conn->name ); + socket_close_internal( conn ); + socket_connect_bail( conn ); } static void @@ -406,9 +412,7 @@ socket_connected( conn_t *conn ) } if (soerr) { errno = soerr; - sys_error( "Cannot connect to %s", conn->name ); - socket_close_internal( conn ); - socket_connect_bail( conn ); + socket_connect_failed( conn ); return; } socket_connected2( conn ); ------------------------------------------------------------------------------ Own the Future-Intel(R) Level Up Game Demo Contest 2013 Rise to greatness in Intel's independent game demo contest. Compete for recognition, cash, and the chance to get your game on Steam. $5K grand prize plus 10 genre and skill prizes. Submit your demo by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 _______________________________________________ isync-devel mailing list isync-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/isync-devel