Bug fix: -cut_out did not add x-permission to r-permission of directory
This commit is contained in:
parent
bf053e201e
commit
7e10d412a8
@ -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 ");
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2013.09.16.164820"
|
#define Xorriso_timestamP "2013.10.05.073918"
|
||||||
|
Loading…
Reference in New Issue
Block a user