New isoburn_igopt_set_relaxed() relaxation isoburn_igopt_rrip_tf_year0

This commit is contained in:
2025-09-16 20:56:22 +02:00
parent e6ca1f6e01
commit 9d7c2b2c83
4 changed files with 22 additions and 2 deletions

View File

@@ -442,6 +442,7 @@ int isoburn_make_iso_write_opts(struct isoburn *out_o,
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_tf_long(wopts, opts->rrip_tf_long);
iso_write_opts_set_rrip_tf_year0(wopts, opts->rrip_tf_year0);
iso_write_opts_set_rrip_version_1_10(wopts, opts->rrip_version_1_10);
rec_mtime= 0;
if(opts->dir_rec_mtime)
@@ -1191,6 +1192,8 @@ int isoburn_igopt_new(struct isoburn_imgen_opts **new_o, int flag)
o->joliet_long_names= 0;
o->joliet_utf16= 0;
o->always_gmt= 0;
o->rrip_tf_long= 0;
o->rrip_tf_year0= 0;
o->rrip_version_1_10= 0;
o->dir_rec_mtime= 0;
o->aaip_susp_1_10= 0;
@@ -1336,6 +1339,7 @@ int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax)
o->allow_7bit_ascii= !!(relax & isoburn_igopt_allow_7bit_ascii);
o->joliet_utf16= !!(relax & isoburn_igopt_joliet_utf16);
o->rrip_tf_long= !!(relax & isoburn_igopt_rrip_tf_long);
o->rrip_tf_year0= !!(relax & isoburn_igopt_rrip_tf_year0);
return(1);
}
@@ -1356,7 +1360,8 @@ int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax)
((!!o->iso1999_rec_mtime) << 17) |
((!!o->allow_full_ascii) << 18) |
((!!o->joliet_utf16) << 19) |
((!!o->rrip_tf_long) << 20);
((!!o->rrip_tf_long) << 20) |
((!!o->rrip_tf_year0) << 21);
return(1);
}

View File

@@ -580,6 +580,13 @@ struct isoburn_imgen_opts {
*/
unsigned int rrip_tf_long :1;
/**
* Enable writing of time values before year 1900 AD in RRIP field TF.
* If enabled, then dates down to the begin of year 0 (= 1 BC) can be
* written into the Rock Ridge data.
*/
unsigned int rrip_tf_year0 :1;
/**
* Write Rock Ridge info as of specification RRIP-1.10 rather than
* RRIP-1.12: signature "RRIP_1991A" rather than "IEEE_1282",

View File

@@ -1470,6 +1470,13 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
to individual nodes if one of their timestamps is after
01 Jan 2150 UTC. (libisofs might get changed to support
7-byte timestamps up to end of 2155.)
bit21= rrip_tf_year0
Enable writing of time values before year 1900 AD in RRIP
field TF. If enabled, then dates down to the begin of
year 0 (= 1 BC) can be written into the Rock Ridge data.
This is not default, because Linux up to at least version 6.16
misrepresents times before year 1900 as
Jan 1 1970 00:00:00 UTC.
@return 1 success, <=0 failure
*/
#define isoburn_igopt_omit_version_numbers 1
@@ -1493,6 +1500,7 @@ int isoburn_igopt_get_extensions(struct isoburn_imgen_opts *o, int *ext);
#define isoburn_igopt_allow_7bit_ascii 0x40000
#define isoburn_igopt_joliet_utf16 0x80000
#define isoburn_igopt_rrip_tf_long 0x100000
#define isoburn_igopt_rrip_tf_year0 0x200000
int isoburn_igopt_set_relaxed(struct isoburn_imgen_opts *o, int relax);
int isoburn_igopt_get_relaxed(struct isoburn_imgen_opts *o, int *relax);

View File

@@ -1 +1 @@
#define Xorriso_timestamP "2025.09.14.110131"
#define Xorriso_timestamP "2025.09.16.185537"