New API call isoburn_igopt_set_untranslated_name_len()
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user