Had to split isoburn_ropt_noaaip into isoburn_ropt_noacl and isoburn_ropt_noea

This commit is contained in:
Thomas Schmitt 2009-01-21 20:39:00 +00:00
parent 9716ac2333
commit d678296449
6 changed files with 29 additions and 10 deletions

View File

@ -265,6 +265,8 @@ int isoburn_is_intermediate_dvd_rw(struct burn_drive *d, int flag)
bit3= if the drive reports a -ROM profile then try to read
table of content by scanning for ISO image headers.
bit4= do not emulate TOC on overwriteable media
bit5= ignore ACL from external filesystems
bit6= ignore POSIX Extended Attributes from external filesystems
*/
static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
int flag)
@ -290,6 +292,7 @@ static int isoburn_welcome_media(struct isoburn **o, struct burn_drive *d,
(*o)->msgs_submit= libisoburn_default_msgs_submit;
(*o)->msgs_submit_handle= libisoburn_default_msgs_submit_handle;
(*o)->msgs_submit_flag= libisoburn_default_msgs_submit_flag;
iso_image_set_ignore_aclea((*o)->image, (flag >> 5 ) & 3);
#ifdef Hardcoded_cd_rW
/* <<< A70929 : hardcoded CD-RW with fabricated -msinfo */
@ -382,6 +385,8 @@ ex:
(depending on media type and drive state this might
help or it might make the resulting toc even worse)
bit4= do not emulate TOC on overwriteable media
bit5= ignore ACL from external filesystems
bit6= ignore POSIX Extended Attributes from external filesystems
*/
int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
char *adr, int flag)
@ -412,7 +417,7 @@ int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
goto ex;
drive_grabbed= 1;
ret= isoburn_welcome_media(&o, (*drive_infos)[0].drive,
(flag & 24) | !!(flag&2));
(flag & (8 | 16 | 32 | 64)) | !!(flag&2));
if(ret<=0)
goto ex;

View File

@ -629,7 +629,8 @@ int isoburn_ropt_new(struct isoburn_read_opts **new_o, int flag)
o->norock= 0;
o->nojoliet= 0;
o->noiso1999= 1;
o->noaaip= 1;
o->noacl= 1;
o->noea= 1;
o->preferjoliet= 0;
o->uid= geteuid();
o->gid= getegid();
@ -663,7 +664,8 @@ int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext)
o->noiso1999= !!(ext&4);
o->preferjoliet= !!(ext&8);
o->pretend_blank= !!(ext&16);
o->noaaip= !!(ext & 32);
o->noacl= !!(ext & 32);
o->noea= !!(ext & 64);
return(1);
}
@ -672,7 +674,7 @@ int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext)
{
*ext= (!!o->norock) | ((!!o->nojoliet)<<1) | ((!!o->noiso1999)<<2) |
((!!o->preferjoliet)<<3) | ((!!o->pretend_blank)<<4) |
((!!o->noaaip) << 5);
((!!o->noacl) << 5) | ((!!o->noea) << 6);
return(1);
}

View File

@ -250,7 +250,11 @@ struct isoburn_read_opts {
unsigned int norock:1; /*< Do not read Rock Ridge extensions */
unsigned int nojoliet:1; /*< Do not read Joliet extensions */
unsigned int noiso1999:1; /*< Do not read ISO 9660:1999 enhanced tree */
unsigned int noaaip:1; /* Do not read AAIP for ACL and POSIX EA*/
/* ts A90121 */
unsigned int noacl:1; /* Do not read AAIP for ACL */
unsigned int noea:1; /* Do not read AAIP for POSIX EA */
unsigned int preferjoliet:1;
/*< When both Joliet and RR extensions are present, the RR
* tree is used. If you prefer using Joliet, set this to 1. */

View File

@ -166,6 +166,8 @@ create_blank_image:;
iso_image_ref(*image); /*protects object from premature free*/
}
}
iso_image_set_ignore_aclea(*image,
(!!(read_opts->noacl)) | ((!!read_opts->noea) << 1) );
return 1;
}
@ -200,7 +202,7 @@ create_blank_image:;
iso_read_opts_set_no_rockridge(ropts, read_opts->norock);
#ifdef Libisofs_with_aaiP
iso_read_opts_set_no_aaip(ropts, read_opts->noaaip);
iso_read_opts_set_no_aaip(ropts, read_opts->noacl && read_opts->noea);
#endif /* Libisofs_with_aaiP */
iso_read_opts_set_no_joliet(ropts, read_opts->nojoliet);

View File

@ -367,6 +367,9 @@ int isoburn_drive_scan_and_grab(struct burn_drive_info *drive_infos[],
(depending on media type and drive this might
help or it might make the resulting toc even worse)
bit4= do not emulate table of content on overwriteable media
bit5= ignore ACL from external filesystems
bit6= ignore POSIX Extended Attributes from external
filesystems
@return 1 = success , 0 = drive not found , <0 = other error
*/
int isoburn_drive_aquire(struct burn_drive_info *drive_infos[],
@ -682,9 +685,11 @@ int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
tree is used. If you prefer using Joliet, set this to 1.
bit4= pretend_blank
Always create empty image.Ignore any image on input drive.
bit5= noaaip
bit5= noacl
@since 0.3.4
Do not read AAIP informations for ACL and POSIX Extended
No need to read AAIP informations for ACL
bit6= noea
No need to read AAIP informations for POSIX Extended
Attributes.
@return 1 success, <=0 failure
*/
@ -693,7 +698,8 @@ int isoburn_ropt_destroy(struct isoburn_read_opts **o, int flag);
#define isoburn_ropt_noiso1999 4
#define isoburn_ropt_preferjoliet 8
#define isoburn_ropt_pretend_blank 16
#define isoburn_ropt_noaaip 32
#define isoburn_ropt_noacl 32
#define isoburn_ropt_noea 64
int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext);
int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext);

View File

@ -1 +1 @@
#define Xorriso_timestamP "2009.01.21.150243"
#define Xorriso_timestamP "2009.01.21.203852"