diff src/gtk/transfer.c @ 182:33b394ebba68

2003-6-15 Brian Masney <masneyb@gftp.org> * lib/cache.c lib/gftp.h - added gftp_generate_cache_description(). * lib/cache.c lib/gftp.h src/text/gftp-text.c src/gtk/delete-dialog.c src/gtk/menu-items.c src/gtk/misc-gtk.c src/gtk/mkdir-dialog.c - Added description parameter to gftp_delete_cache_entry(). * lib/protocols.c lib/gftp.h - added gftp_fd_open(). It will call open() and then set the socket option close on exec * lib/cache.c lib/local.c lib/misc.c - use gftp_fd_open() instead of open() * lib/rfc959.c lib/protocols.c - on newly created sockets, make sure the close on exec socket option is set * lib/options.h src/text/gftp-text.c src/gtk/transfer.c - added preserve_permissions option * lib/protocols.c (gftp_parse_url) - allow an @ to be in the username * src/text/gftp-text.c - after transfering a file, honor preserve_permissions if it is set * src/gtk/delete-dialog.c - improvments to clearing the expired cache entries
author masneyb
date Sun, 15 Jun 2003 21:28:02 +0000
parents d40f9db52cdf
children 13ca1defdc75
line wrap: on
line diff
--- a/src/gtk/transfer.c	Sun Jun 15 13:22:09 2003 +0000
+++ b/src/gtk/transfer.c	Sun Jun 15 21:28:02 2003 +0000
@@ -544,7 +544,7 @@
 void * 
 gftp_gtk_transfer_files (void *data)
 {
-  int i, mode, tofd, fromfd;
+  int i, mode, tofd, fromfd, preserve_permissions;
   gftp_transfer * transfer;
   char buf[8192];
   off_t fromsize, total;
@@ -558,6 +558,9 @@
   memcpy (&transfer->lasttime, &transfer->starttime, 
           sizeof (transfer->lasttime));
 
+  gftp_lookup_request_option (transfer->fromreq, "preserve_permissions", 
+                              &preserve_permissions);
+
   while (transfer->curfle != NULL)
     {
       num_read = -1;
@@ -729,7 +732,7 @@
                          curfle->file, transfer->kbs);
         }
 
-      if (!curfle->is_fd)
+      if (!curfle->is_fd && preserve_permissions)
         {
           if (curfle->attribs)
             {