From 2c84085e05bf44fcd511f01b0f84829a32f4012a Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sat, 5 Oct 2013 07:40:19 +0000 Subject: [PATCH] Bug fix: -cut_out did not add x-permission to r-permission of directory --- xorriso/iso_manip.c | 5 +++-- xorriso/xorriso_timestamp.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/xorriso/iso_manip.c b/xorriso/iso_manip.c index abf77f78..e6d90632 100644 --- a/xorriso/iso_manip.c +++ b/xorriso/iso_manip.c @@ -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 "); diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 3eabf40d..98340354 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2013.09.16.164820" +#define Xorriso_timestamP "2013.10.05.073918"