From 808ea834bb4a2e2e5e9e4f811fa53330f3fdd2af Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Thu, 22 Mar 2012 10:20:30 +0000 Subject: [PATCH] New relaxation option allow_7bit_ascii --- libisoburn/isoburn.c | 6 +++++- libisoburn/libisoburn.h | 12 +++++++++--- xorriso/xorriso_timestamp.h | 2 +- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/libisoburn/isoburn.c b/libisoburn/isoburn.c index a7520d66..4575f3a8 100644 --- a/libisoburn/isoburn.c +++ b/libisoburn/isoburn.c @@ -487,6 +487,7 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d, iso_write_opts_set_no_force_dots(wopts, opts->no_force_dots); iso_write_opts_set_allow_lowercase(wopts, opts->allow_lowercase); iso_write_opts_set_allow_full_ascii(wopts, opts->allow_full_ascii); + iso_write_opts_set_allow_7bit_ascii(wopts, opts->allow_7bit_ascii); iso_write_opts_set_relaxed_vol_atts(wopts, 1); iso_write_opts_set_joliet_longer_paths(wopts, opts->joliet_longer_paths); iso_write_opts_set_joliet_long_names(wopts, opts->joliet_long_names); @@ -1037,6 +1038,7 @@ int isoburn_igopt_new(struct isoburn_imgen_opts **new_o, int flag) o->no_force_dots= 0; o->allow_lowercase= 0; o->allow_full_ascii= 0; + o->allow_7bit_ascii= 0; o->joliet_longer_paths= 0; o->joliet_long_names= 0; o->always_gmt= 0; @@ -1153,6 +1155,7 @@ int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax) o->joliet_long_names= !!(relax & isoburn_igopt_joliet_long_names); o->joliet_rec_mtime= !!(relax & isoburn_igopt_joliet_rec_mtime); o->iso1999_rec_mtime= !!(relax & isoburn_igopt_iso1999_rec_mtime); + o->allow_7bit_ascii= !!(relax & isoburn_igopt_allow_7bit_ascii); return(1); } @@ -1170,7 +1173,8 @@ int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax) ((!!o->allow_dir_id_ext) << 14) | ((!!o->joliet_long_names) << 15) | ((!!o->joliet_rec_mtime) << 16) | - ((!!o->iso1999_rec_mtime) << 17); + ((!!o->iso1999_rec_mtime) << 17) | + ((!!o->allow_full_ascii) << 18); return(1); } diff --git a/libisoburn/libisoburn.h b/libisoburn/libisoburn.h index b8896f5b..46f58e1e 100644 --- a/libisoburn/libisoburn.h +++ b/libisoburn/libisoburn.h @@ -1158,7 +1158,7 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext); a few other characters are allowed. bit6= allow_full_ascii Allow all ASCII characters to be appear on an ISO-9660 - filename. Note * that "/" and "\0" characters are never + filename. Note that "/" and "\0" characters are never allowed, even in RR names. bit7= joliet_longer_paths Allow paths in the Joliet tree to have more than @@ -1213,6 +1213,11 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext); bit17= iso1999_rec_mtime Like dir_rec_mtime, but for the ISO 9660:1999 tree. @since 1.2.0 + bit18= allow_7bit_ascii + Like allow_full_ascii, but only allowing 7-bit characters. + Lowercase letters get mapped to uppercase if not + allow_lowercase is set. + Gets overridden if allow_full_ascii is enabled. @return 1 success, <=0 failure */ #define isoburn_igopt_omit_version_numbers 1 @@ -1231,8 +1236,9 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext); #define isoburn_igopt_no_j_force_dots 8192 #define isoburn_igopt_allow_dir_id_ext 16384 #define isoburn_igopt_joliet_long_names 32768 -#define isoburn_igopt_joliet_rec_mtime 0x8000 -#define isoburn_igopt_iso1999_rec_mtime 0x10000 +#define isoburn_igopt_joliet_rec_mtime 0x10000 +#define isoburn_igopt_iso1999_rec_mtime 0x20000 +#define isoburn_igopt_allow_7bit_ascii 0x40000 int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax); int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax); diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index edfdc5ea..a332a650 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2012.03.22.084956" +#define Xorriso_timestamP "2012.03.22.102053"