# HG changeset patch # User masneyb # Date 1159268193 0 # Node ID 214d7e6ea78b1804f854f7e4986f497e53b2462c # Parent 9b480a31539db710fcc2280a00763b1bec723b74 2006-9-26 Brian Masney * lib/rfc959.c - added rfc959_close_data_connection() diff -r 9b480a31539d -r 214d7e6ea78b ChangeLog --- a/ChangeLog Mon Sep 25 20:09:11 2006 +0000 +++ b/ChangeLog Tue Sep 26 10:56:33 2006 +0000 @@ -1,3 +1,6 @@ +2006-9-26 Brian Masney + * lib/rfc959.c - added rfc959_close_data_connection() + 2006-9-15 Brian Masney * lib/protocols.c (gftp_fd_write, gftp_fd_read, gftp_fd_set_sockblocking) - added checks to make sure the file @@ -3581,7 +3584,7 @@ * cvsclean - added this script - * *.[ch] - added $Id: ChangeLog,v 1.473 2006/09/15 11:26:01 masneyb Exp $ tags + * *.[ch] - added $Id: ChangeLog,v 1.474 2006/09/26 10:56:33 masneyb Exp $ tags * debian/* - updated files from Debian maintainer diff -r 9b480a31539d -r 214d7e6ea78b lib/rfc959.c --- a/lib/rfc959.c Mon Sep 25 20:09:11 2006 +0000 +++ b/lib/rfc959.c Tue Sep 26 10:56:33 2006 +0000 @@ -606,13 +606,25 @@ static void -rfc959_disconnect (gftp_request * request) +rfc959_close_data_connection (gftp_request * request) { rfc959_parms * parms; g_return_if_fail (request != NULL); parms = request->protocol_data; + if (parms->data_connection != -1) + { + close (parms->data_connection); + parms->data_connection = -1; + } +} + + +static void +rfc959_disconnect (gftp_request * request) +{ + g_return_if_fail (request != NULL); if (request->datafd > 0) { @@ -623,11 +635,7 @@ request->datafd = -1; } - if (parms->data_connection > 0) - { - close (parms->data_connection); - parms->data_connection = -1; - } + rfc959_close_data_connection (request); } @@ -1021,8 +1029,8 @@ } close (parms->data_connection); + parms->data_connection = infd; - parms->data_connection = infd; if ((ret = gftp_fd_set_sockblocking (request, parms->data_connection, 1)) < 0) return (ret); @@ -1134,8 +1142,7 @@ return (ret); else if (ret != '3') { - close (parms->data_connection); - parms->data_connection = -1; + rfc959_close_data_connection (request); return (GFTP_ERETRYABLE); } } @@ -1148,8 +1155,7 @@ return (ret); else if (ret != '1') { - close (parms->data_connection); - parms->data_connection = -1; + rfc959_close_data_connection (request); return (GFTP_ERETRYABLE); } @@ -1185,7 +1191,7 @@ g_return_val_if_fail (request->datafd > 0, GFTP_EFATAL); parms = request->protocol_data; - if (fd > 0) + if (fd > 0) /* FIXME */ fd = parms->data_connection; if ((ret = rfc959_set_data_type (request, filename)) < 0) @@ -1208,8 +1214,7 @@ return (ret); else if (ret != '3') { - close (parms->data_connection); - parms->data_connection = -1; + rfc959_close_data_connection (request); return (GFTP_ERETRYABLE); } } @@ -1221,8 +1226,7 @@ return (ret); else if (ret != '1') { - close (parms->data_connection); - parms->data_connection = -1; + rfc959_close_data_connection (request); return (GFTP_ERETRYABLE); } @@ -1319,11 +1323,7 @@ parms = request->protocol_data; parms->is_fxp_transfer = 0; - if (parms->data_connection > 0) - { - close (parms->data_connection); - parms->data_connection = -1; - } + rfc959_close_data_connection (request); ret = rfc959_read_response (request, 1); @@ -1339,22 +1339,15 @@ static int rfc959_abort_transfer (gftp_request * request) { - rfc959_parms * parms; int ret; g_return_val_if_fail (request != NULL, GFTP_EFATAL); g_return_val_if_fail (request->datafd > 0, GFTP_EFATAL); - parms = request->protocol_data; - if ((ret = rfc959_send_command (request, "ABOR\r\n", 0)) < 0) return (ret); - if (parms->data_connection > 0) - { - close (parms->data_connection); - parms->data_connection = -1; - } + rfc959_close_data_connection (request); if (request->datafd > 0) {