New option -hardlinks

This commit is contained in:
2009-05-09 20:17:35 +00:00
parent f70287eaf8
commit eea365ce35
6 changed files with 85 additions and 29 deletions

View File

@ -542,8 +542,6 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
int lba, track, session, params_flag, adr_mode;
char volid[33], adr_data[163], *adr_pt;
static int no_rr_or_joliet= 0;
if((flag&3)==0) {
sprintf(xorriso->info_text,
"XORRISOBURN program error : Xorriso_aquire_drive bit0+bit1 not set");
@ -706,18 +704,18 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
goto ex;
ext= isoburn_ropt_noiso1999;
#ifdef isoburn_ropt_noaaip
if(!(xorriso->do_aaip & (1 | 4 | 32)))
ext|= isoburn_ropt_noaaip;
#endif
#ifdef isoburn_ropt_noacl
ext|= isoburn_ropt_noaaip;
if(!(xorriso->do_aaip & 1))
ext|= isoburn_ropt_noacl;
#endif
#ifdef isoburn_ropt_noea
ext|= isoburn_ropt_noacl;
if(!(xorriso->do_aaip & 4))
ext|= isoburn_ropt_noea;
ext|= isoburn_ropt_noea;
#ifdef isoburn_ropt_noino
if (xorriso->ino_behavior & 1)
ext|= isoburn_ropt_noino;
#endif
isoburn_ropt_set_extensions(ropts, ext);
isoburn_ropt_set_default_perms(ropts, (uid_t) 0, (gid_t) 0, (mode_t) 0555);
@ -747,13 +745,6 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
goto ex;
}
/* <<< */
if(no_rr_or_joliet) {
isoburn_ropt_set_extensions(ropts,
isoburn_ropt_noiso1999 | isoburn_ropt_norock | isoburn_ropt_nojoliet);
}
ret= isoburn_read_image(drive, ropts, &volset);
/* <<< Resetting to normal thresholds */
@ -1140,7 +1131,7 @@ int Xorriso_auto_format(struct XorrisO *xorriso, int flag)
*/
int Xorriso_write_session(struct XorrisO *xorriso, int flag)
{
int ret, relax= 0, i, pacifier_speed= 0, data_lba;
int ret, relax= 0, i, pacifier_speed= 0, data_lba, ext;
int major, minor, micro;
char xorriso_id[256], *img_id, sfe[5*SfileadrL], *cpt, *out_cs;
struct isoburn_imgen_opts *sopts= NULL;
@ -1374,8 +1365,11 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
}
isoburn_igopt_set_level(sopts, 3);
isoburn_igopt_set_extensions(sopts, 1 | ((!!xorriso->do_joliet)<<1) |
((!!(xorriso->do_aaip & (2 | 8 | 16 | 256))) << 5));
ext= isoburn_igopt_rockridge |
((!!xorriso->do_joliet) * isoburn_igopt_joliet) |
(( !(xorriso->ino_behavior & 2)) * isoburn_igopt_hardlinks) |
((!!(xorriso->do_aaip & (2 | 8 | 16 | 256))) * isoburn_igopt_aaip);
isoburn_igopt_set_extensions(sopts, ext);
isoburn_igopt_set_relaxed(sopts, relax);
isoburn_igopt_set_sort_files(sopts, 1);
isoburn_igopt_set_over_mode(sopts, 0, 0, (mode_t) 0, (mode_t) 0);