# HG changeset patch # User masneyb # Date 1153362049 0 # Node ID 2adc6b8b3197fb203ef9abafb26e84ea95f6ba77 # Parent 942dd9c2a0644ef9dae79d5c77aed61c4d919921 2006-7-19 Brian Masney * src/uicommon/gftpui.c - make sure the directories have the proper permissions when "preserve file permissions" is enabled (from Aurelien Jarno ) (closes #312722) diff -r 942dd9c2a064 -r 2adc6b8b3197 ChangeLog --- a/ChangeLog Thu Jul 20 02:16:30 2006 +0000 +++ b/ChangeLog Thu Jul 20 02:20:49 2006 +0000 @@ -1,4 +1,8 @@ 2006-7-19 Brian Masney + * src/uicommon/gftpui.c - make sure the directories have the proper + permissions when "preserve file permissions" is enabled + (from Aurelien Jarno ) (closes #312722) + * src/gtk/gftp-gtk.c - fixed the default protocol dropdown when some protocols are disabled (from Aurelien Jarno ) (closes #312724) @@ -3432,7 +3436,7 @@ * cvsclean - added this script - * *.[ch] - added $Id: ChangeLog,v 1.445 2006/07/20 02:16:29 masneyb Exp $ tags + * *.[ch] - added $Id: ChangeLog,v 1.446 2006/07/20 02:20:48 masneyb Exp $ tags * debian/* - updated files from Debian maintainer diff -r 942dd9c2a064 -r 2adc6b8b3197 src/uicommon/gftpui.c --- a/src/uicommon/gftpui.c Thu Jul 20 02:16:30 2006 +0000 +++ b/src/uicommon/gftpui.c Thu Jul 20 02:20:49 2006 +0000 @@ -1295,6 +1295,11 @@ gettimeofday (&tdata->starttime, NULL); memcpy (&tdata->lasttime, &tdata->starttime, sizeof (tdata->lasttime)); + gftp_lookup_request_option (tdata->fromreq, "preserve_permissions", + &preserve_permissions); + gftp_lookup_request_option (tdata->fromreq, "preserve_time", + &preserve_time); + while (tdata->curfle != NULL) { num_read = -1; @@ -1333,6 +1338,14 @@ tdata->toreq->mkdir (tdata->toreq, curfle->destfile); if (!GFTP_IS_CONNECTED (tdata->toreq)) break; + + if (preserve_permissions && curfle->st_mode != 0) + gftp_chmod (tdata->toreq, curfle->destfile, + curfle->st_mode & (S_IRWXU | S_IRWXG | S_IRWXO)); + + if (preserve_time && curfle->datetime != 0) + gftp_set_file_time (tdata->toreq, curfle->destfile, + curfle->datetime); } if (g_thread_supported ()) @@ -1476,11 +1489,6 @@ } } - gftp_lookup_request_option (tdata->fromreq, "preserve_permissions", - &preserve_permissions); - gftp_lookup_request_option (tdata->fromreq, "preserve_time", - &preserve_time); - if (!curfle->is_fd) { if (preserve_permissions && curfle->st_mode != 0)