diff lib/ftps.c @ 397:14ef37b62c20

2004-2-8 Brian Masney <masneyb@gftp.org> * src/gtk/gftp-gtk.h src/gtk/gtkui.c - added gftpui_gtk_get_utf8_file_pos() that will return the file in UTF8 format if it is available * src/gtk/gtkui_transfer.c src/gtk/transfer.c - call gftpui_gtk_get_utf8_file_pos() to display the file in the file transfer status. This fixes a bug where non-UTF8 files were being chopped off * src/text/textui.c src/uicommon/gftpui.c src/uicommon/gftpui.h src/text/gtkui_transfer.c - updated declaration of gftpui_add_file_to_transfer() * lib/protocols.c (gftp_swap_socks) - swap the SSL sockets between the two request structures * lib/ftps.c - added ftps_get_next_file() that will pull items from the cache properly * lib/Makefile.am - updated LOCALE_DIR declaration (from Sung-Hyun Nam <namsh@kldp.org>) * ChangeLog-old - updated summary of changes since 2.0.16 * TODO - removed several items that were completed
author masneyb
date Sun, 08 Feb 2004 16:19:26 +0000
parents 0444232dc494
children 1ffdbc487a70
line wrap: on
line diff
--- a/lib/ftps.c	Thu Feb 05 03:17:05 2004 +0000
+++ b/lib/ftps.c	Sun Feb 08 16:19:26 2004 +0000
@@ -22,12 +22,32 @@
 
 static const char cvsid[] = "$Id$";
 
-void
-ftps_register_module (void)
+#ifdef USE_SSL
+static int
+ftps_get_next_file (gftp_request * request, gftp_file * fle, int fd)
 {
-#ifdef USE_SSL
-  ssl_register_module ();
-#endif
+  rfc959_parms * params;
+  int ret, resetptr;
+
+  params = request->protocol_data;
+  if (request->cached)
+    {
+      request->read_function = gftp_fd_read;
+      request->write_function = gftp_fd_write;
+      resetptr = 1;
+    }
+  else
+    resetptr = 0;
+
+  ret = rfc959_get_next_file (request, fle, fd);
+
+  if (resetptr)
+    {
+      request->read_function = gftp_ssl_read;
+      request->write_function = gftp_ssl_write;
+    }
+
+  return (ret);
 }
 
 
@@ -78,6 +98,16 @@
 
   return (0);
 }
+#endif
+
+
+void
+ftps_register_module (void)
+{
+#ifdef USE_SSL
+  ssl_register_module ();
+#endif
+}
 
 
 int
@@ -94,6 +124,7 @@
 
   params = request->protocol_data;
   params->auth_tls_start = ftps_auth_tls_start;
+  request->get_next_file = ftps_get_next_file;
   request->init = ftps_init;
   request->post_connect = NULL;
   request->url_prefix = g_strdup ("ftps");