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 460ffe9d96
commit 2c84085e05
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 /* @param flag bit0= give directory x-permission where is r-permission
bit1= do not transfer ACL or xattr bit1= do not transfer ACL or xattr
bit2= record dev,inode (only if enabled by xorriso) 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 bit5= transfer ACL or xattr from eventual link target
*/ */
int Xorriso_transfer_properties(struct XorrisO *xorriso, struct stat *stbuf, 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 */ /* Will drop ACL. Update mode S_IRWXG by eventual group:: ACL entry */
iso_local_get_perms_wo_acl(disk_path, &mode, flag & 32); 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) if(mode&S_IRUSR)
mode|= S_IXUSR; mode|= S_IXUSR;
if(mode&S_IRGRP) if(mode&S_IRGRP)
@ -667,7 +668,7 @@ int Xorriso_copy_implicit_properties(struct XorrisO *xorriso, IsoDir *dir,
if(stat(nfd, &stbuf)==-1) if(stat(nfd, &stbuf)==-1)
{ret= 0; goto ex;} {ret= 0; goto ex;}
Xorriso_transfer_properties(xorriso, &stbuf, nfd, (IsoNode *) dir, 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 "); sprintf(xorriso->info_text, "Copied properties for ");
Text_shellsafe(ni, xorriso->info_text, 1); Text_shellsafe(ni, xorriso->info_text, 1);
sprintf(xorriso->info_text+strlen(xorriso->info_text), " from "); 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"