From b5ddf6f4d7117fc6eabff52f4c3faddf39b1d237 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Wed, 18 Dec 2013 07:42:10 +0000 Subject: [PATCH] New isoburn_igopt_set_relaxed() relaxation isoburn_igopt_joliet_utf16 --- libisoburn/isoburn.c | 6 +++++- libisoburn/isoburn.h | 5 +++++ libisoburn/libisoburn.h | 9 ++++++++- xorriso/xorriso_timestamp.h | 2 +- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/libisoburn/isoburn.c b/libisoburn/isoburn.c index cbe3de00..9ae469f3 100644 --- a/libisoburn/isoburn.c +++ b/libisoburn/isoburn.c @@ -498,6 +498,7 @@ int isoburn_prepare_disc_aux(struct burn_drive *in_d, struct burn_drive *out_d, 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); + iso_write_opts_set_joliet_utf16(wopts, opts->joliet_utf16); iso_write_opts_set_always_gmt(wopts, opts->always_gmt); iso_write_opts_set_rrip_version_1_10(wopts, opts->rrip_version_1_10); rec_mtime= 0; @@ -1065,6 +1066,7 @@ int isoburn_igopt_new(struct isoburn_imgen_opts **new_o, int flag) o->allow_7bit_ascii= 0; o->joliet_longer_paths= 0; o->joliet_long_names= 0; + o->joliet_utf16= 0; o->always_gmt= 0; o->rrip_version_1_10= 0; o->dir_rec_mtime= 0; @@ -1195,6 +1197,7 @@ int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax) 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); + o->joliet_utf16= !!(relax & isoburn_igopt_joliet_utf16); return(1); } @@ -1213,7 +1216,8 @@ int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax) ((!!o->joliet_long_names) << 15) | ((!!o->joliet_rec_mtime) << 16) | ((!!o->iso1999_rec_mtime) << 17) | - ((!!o->allow_full_ascii) << 18); + ((!!o->allow_full_ascii) << 18) | + ((!!o->joliet_utf16) << 19); return(1); } diff --git a/libisoburn/isoburn.h b/libisoburn/isoburn.h index d46acb01..c5088b38 100644 --- a/libisoburn/isoburn.h +++ b/libisoburn/isoburn.h @@ -529,6 +529,11 @@ struct isoburn_imgen_opts { */ unsigned int joliet_long_names :1; + /** + * Use UTF-16BE rather than its subset UCS-2 + */ + unsigned int joliet_utf16 :1; + /** * Store timestamps as GMT rather than in local time. */ diff --git a/libisoburn/libisoburn.h b/libisoburn/libisoburn.h index 84447f28..101e24e0 100644 --- a/libisoburn/libisoburn.h +++ b/libisoburn/libisoburn.h @@ -242,7 +242,7 @@ void isoburn_version(int *major, int *minor, int *micro); */ #define isoburn_libisofs_req_major 1 #define isoburn_libisofs_req_minor 3 -#define isoburn_libisofs_req_micro 4 +#define isoburn_libisofs_req_micro 5 /** The minimum version of libburn to be used with this version of libisoburn at compile time. @@ -1254,6 +1254,12 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext); Lowercase letters get mapped to uppercase if not allow_lowercase is set. Gets overridden if allow_full_ascii is enabled. + bit19= joliet_utf16 + Encode Joliet names by character set UTF-16BE rather than + UCS-2. The difference is with characters which are not present + in UCS-2 and get encoded in UTF-16 by 2 words of 16 bit each. + Both words then stem from a reserved subset of UCS-2. + @since 1.3.6 @return 1 success, <=0 failure */ #define isoburn_igopt_omit_version_numbers 1 @@ -1275,6 +1281,7 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext); #define isoburn_igopt_joliet_rec_mtime 0x10000 #define isoburn_igopt_iso1999_rec_mtime 0x20000 #define isoburn_igopt_allow_7bit_ascii 0x40000 +#define isoburn_igopt_joliet_utf16 0x80000 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 f6772e40..d8762cfc 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2013.12.12.154238" +#define Xorriso_timestamP "2013.12.18.074049"