|
|
|
@ -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 ");
|
|
|
|
|