From 8f89ad03fcdd80930c831d90a9b64e4cf058154b Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Sun, 22 Nov 2020 14:46:06 +0100 Subject: [PATCH] New libisoburn extension option isoburn_ropt_map_joliet_unmapped --- libisoburn/isoburn.c | 8 +++++--- libisoburn/isoburn.h | 3 ++- libisoburn/isofs_wrap.c | 3 ++- libisoburn/libisoburn.h | 9 +++++++-- xorriso/xorriso_timestamp.h | 2 +- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/libisoburn/isoburn.c b/libisoburn/isoburn.c index 22295ffa..1931d549 100644 --- a/libisoburn/isoburn.c +++ b/libisoburn/isoburn.c @@ -856,7 +856,8 @@ int isoburn_ropt_new(struct isoburn_read_opts **new_o, int flag) o->noiso1999= 1; o->do_ecma119_map= 0; o->map_mode= 1; - o->joliet_stripped= 1; + o->do_joliet_map= 0; + o->joliet_map_mode= 1; o->noaaip= 1; o->noacl= 1; o->noea= 1; @@ -959,7 +960,8 @@ int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext) o->nomd5= (ext >> 9) & 3; o->do_ecma119_map= !!(ext & 2048); o->map_mode= (ext >> 12) & 3; - o->joliet_stripped= !!(ext & 16384); + o->do_joliet_map= !!(ext & 16384); + o->joliet_map_mode= !!(ext & 32768); return(1); } @@ -971,7 +973,7 @@ int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext) ((!!o->noaaip) << 5) | ((!!o->noacl) << 6) | ((!!o->noea) << 7) | ((!!o->noino) << 8) | ((o->nomd5 & 3) << 9) | ((!!o->do_ecma119_map) << 11) | ((o->map_mode & 3) << 12) | - ((!!o->joliet_stripped) << 14); + ((!!o->do_joliet_map) << 14) | ((!!o->joliet_map_mode) << 15); return(1); } diff --git a/libisoburn/isoburn.h b/libisoburn/isoburn.h index 7bd93fa1..089bef98 100644 --- a/libisoburn/isoburn.h +++ b/libisoburn/isoburn.h @@ -326,7 +326,8 @@ struct isoburn_read_opts { unsigned int do_ecma119_map:1; /* call iso_read_opts_set_ecma119_map() */ unsigned int map_mode:2; /* argument for do_ecma119_map */ - unsigned int joliet_stripped:1; /* for iso_read_opts_set_joliet_map */ + unsigned int do_joliet_map:1; /* call iso_read_opts_set_joliet_map() */ + unsigned int joliet_map_mode:1; /* for iso_read_opts_set_joliet_map */ /* ts A90121 */ unsigned int noaaip:1; /* Do not read AAIP for ACL and EA */ diff --git a/libisoburn/isofs_wrap.c b/libisoburn/isofs_wrap.c index a97f2f8a..9438aff8 100644 --- a/libisoburn/isofs_wrap.c +++ b/libisoburn/isofs_wrap.c @@ -275,7 +275,8 @@ displacement_rollover:; iso_read_opts_set_no_md5(ropts, int_num); if(read_opts->do_ecma119_map) iso_read_opts_set_ecma119_map(ropts, read_opts->map_mode); - iso_read_opts_set_joliet_map(ropts, read_opts->joliet_stripped); + if(read_opts->do_joliet_map) + iso_read_opts_set_joliet_map(ropts, read_opts->joliet_map_mode); iso_read_opts_set_new_inos(ropts, read_opts->noino); iso_read_opts_set_no_joliet(ropts, read_opts->nojoliet); diff --git a/libisoburn/libisoburn.h b/libisoburn/libisoburn.h index 69474940..205a8c38 100644 --- a/libisoburn/libisoburn.h +++ b/libisoburn/libisoburn.h @@ -909,7 +909,11 @@ int isoburn_ropt_get_data_cache(struct isoburn_read_opts *o, or ".;1" 2 = uppercase: Like stripped, but map {a-z} to {A-Z} 3 = lowercase: Like stripped, but map {A-Z} to {a-z} - bit14= joliet_stripped + bit14= do_joliet_map + @since 1.5.4 + Set iso_read_opts_set_joliet_map() to joliet_map_mode + rather than relying on the default setting of libisofs. + bit15= joliet_map_mode @since 1.5.4 How to convert Joliet file names. 0 = unmapped: Take name as recorded in Joliet directory @@ -934,7 +938,8 @@ int isoburn_ropt_get_data_cache(struct isoburn_read_opts *o, #define isoburn_ropt_map_stripped ( 2048 | 4096 ) #define isoburn_ropt_map_uppercase ( 2048 | 8192 ) #define isoburn_ropt_map_lowercase ( 2048 | 12288 ) -#define isoburn_ropt_joliet_stripped 16384 +#define isoburn_ropt_joliet_unmapped ( 16384 | 0) +#define isoburn_ropt_joliet_stripped ( 16384 | 32768) int isoburn_ropt_set_extensions(struct isoburn_read_opts *o, int ext); int isoburn_ropt_get_extensions(struct isoburn_read_opts *o, int *ext); diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 35f4b15f..aa5e7fd6 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2020.11.22.131521" +#define Xorriso_timestamP "2020.11.22.134545"