Bug fix: -cut_out did not add x-permission to r-permission of directory

This commit is contained in:
Thomas Schmitt 2013-10-05 07:40:19 +00:00
parent bf053e201e
commit 7e10d412a8
2 changed files with 4 additions and 3 deletions

View File

@ -40,6 +40,7 @@
/* @param flag bit0= give directory x-permission where is r-permission
bit1= do not transfer ACL or xattr
bit2= record dev,inode (only if enabled by xorriso)
bit3= with bit0: pretend to have indeed a directory
bit5= transfer ACL or xattr from eventual link target
*/
int Xorriso_transfer_properties(struct XorrisO *xorriso, struct stat *stbuf,
@ -56,7 +57,7 @@ int Xorriso_transfer_properties(struct XorrisO *xorriso, struct stat *stbuf,
/* Will drop ACL. Update mode S_IRWXG by eventual group:: ACL entry */
iso_local_get_perms_wo_acl(disk_path, &mode, flag & 32);
if((flag&1) && S_ISDIR(mode)) {
if((flag & 1) && ((flag & 8) || S_ISDIR(mode))) {
if(mode&S_IRUSR)
mode|= S_IXUSR;
if(mode&S_IRGRP)
@ -667,7 +668,7 @@ int Xorriso_copy_implicit_properties(struct XorrisO *xorriso, IsoDir *dir,
if(stat(nfd, &stbuf)==-1)
{ret= 0; goto ex;}
Xorriso_transfer_properties(xorriso, &stbuf, nfd, (IsoNode *) dir,
((flag&1) && d==0) | 4 | 32);
((8 | 1) * ((flag&1) && d==0)) | 4 | 32);
sprintf(xorriso->info_text, "Copied properties for ");
Text_shellsafe(ni, xorriso->info_text, 1);
sprintf(xorriso->info_text+strlen(xorriso->info_text), " from ");

View File

@ -1 +1 @@
#define Xorriso_timestamP "2013.09.16.164820"
#define Xorriso_timestamP "2013.10.05.073918"