|
|
|
@ -465,6 +465,7 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d,
|
|
|
|
|
if(opts->hardlinks) |
|
|
|
|
iso_write_opts_set_rrip_1_10_px_ino(wopts, 1); |
|
|
|
|
iso_write_opts_set_aaip(wopts, opts->aaip); |
|
|
|
|
iso_write_opts_set_untranslated_name_len(wopts, opts->untranslated_name_len); |
|
|
|
|
iso_write_opts_set_omit_version_numbers(wopts, opts->omit_version_numbers); |
|
|
|
|
iso_write_opts_set_allow_deep_paths(wopts, opts->allow_deep_paths); |
|
|
|
|
iso_write_opts_set_allow_longer_paths(wopts, opts->allow_longer_paths); |
|
|
|
@ -932,6 +933,7 @@ int isoburn_igopt_new(struct isoburn_imgen_opts **new_o, int flag)
|
|
|
|
|
o->iso1999= 0; |
|
|
|
|
o->hardlinks= 0; |
|
|
|
|
o->aaip = 0; |
|
|
|
|
o->untranslated_name_len = 0; |
|
|
|
|
o->omit_version_numbers= 0; |
|
|
|
|
o->allow_deep_paths= 1; |
|
|
|
|
o->allow_longer_paths= 0; |
|
|
|
@ -1054,10 +1056,48 @@ int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax)
|
|
|
|
|
{ |
|
|
|
|
*relax= (!!o->omit_version_numbers) | ((!!o->allow_deep_paths)<<1) | |
|
|
|
|
((!!o->allow_longer_paths)<<2) | ((!!o->max_37_char_filenames)<<3) | |
|
|
|
|
((!!o->no_force_dots)<<4) | ((!!o->allow_lowercase)<<5) | |
|
|
|
|
((!!(o->no_force_dots & 1))<<4)| ((!!o->allow_lowercase)<<5) | |
|
|
|
|
((!!o->allow_full_ascii)<<6) | ((!!o->joliet_longer_paths)<<7) | |
|
|
|
|
((!!o->always_gmt)<<8) | ((!!o->rrip_version_1_10)<<9) | |
|
|
|
|
((!!o->dir_rec_mtime)<<10) | ((!!o->aaip_susp_1_10)<<11); |
|
|
|
|
((!!o->dir_rec_mtime)<<10) | ((!!o->aaip_susp_1_10)<<11) | |
|
|
|
|
((!!(o->omit_version_numbers & 2))<<12) | |
|
|
|
|
((!!(o->no_force_dots & 2))<<13); |
|
|
|
|
return(1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int isoburn_igopt_set_untranslated_name_len(struct isoburn_imgen_opts *o, |
|
|
|
|
int len) |
|
|
|
|
{ |
|
|
|
|
int ret; |
|
|
|
|
IsoWriteOpts *opts = NULL; |
|
|
|
|
char msg[160]; |
|
|
|
|
|
|
|
|
|
ret= iso_write_opts_new(&opts, 0); |
|
|
|
|
if(ret < 0) { |
|
|
|
|
isoburn_msgs_submit(NULL, 0x00060000, |
|
|
|
|
"Cannot create libisofs write options object", 0, "FATAL", 0); |
|
|
|
|
return(0); |
|
|
|
|
} |
|
|
|
|
ret= iso_write_opts_set_untranslated_name_len(opts, len); |
|
|
|
|
if(ret < 0) { |
|
|
|
|
ret= iso_write_opts_set_untranslated_name_len(opts, -1); |
|
|
|
|
sprintf(msg, |
|
|
|
|
"Improper value for maximum length of untranslated names (%d <-> -1 ... %d)", |
|
|
|
|
len, ret); |
|
|
|
|
isoburn_msgs_submit(NULL, 0x00060000, msg, 0, "FAILURE", 0); |
|
|
|
|
iso_write_opts_free(opts); |
|
|
|
|
return(0); |
|
|
|
|
} |
|
|
|
|
o->untranslated_name_len= ret; /* Normalized len value */ |
|
|
|
|
iso_write_opts_free(opts); |
|
|
|
|
return(1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int isoburn_igopt_get_untranslated_name_len(struct isoburn_imgen_opts *o, |
|
|
|
|
int *len) |
|
|
|
|
{ |
|
|
|
|
*len = o->untranslated_name_len; |
|
|
|
|
return(1); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|