changeset 816:214d7e6ea78b

2006-9-26 Brian Masney <masneyb@gftp.org> * lib/rfc959.c - added rfc959_close_data_connection()
author masneyb
date Tue, 26 Sep 2006 10:56:33 +0000
parents 9b480a31539d
children cfa4ec2fb98f
files ChangeLog lib/rfc959.c
diffstat 2 files changed, 26 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- 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 <masneyb@gftp.org>
+	* lib/rfc959.c - added rfc959_close_data_connection()
+
 2006-9-15 Brian Masney <masneyb@gftp.org>
 	* 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
 
--- 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)
     {