diff --git a/xorriso/xorriso.1 b/xorriso/xorriso.1 index da92995d..74849667 100644 --- a/xorriso/xorriso.1 +++ b/xorriso/xorriso.1 @@ -1621,12 +1621,13 @@ Rule keywords are: .br "always_gmt" store timestamps in GMT representation with timezone 0. .br -"old_rr" use Rock Ridge version 1.10 (needed if the intended reader -system does not recognize Rock Ridge 1.12 signature). -.br "rec_mtime" record with ISO files the disk file's mtime and not the creation time of the image. .br +"old_rr" use Rock Ridge version 1.10 (needed if the intended reader +system does not recognize Rock Ridge 1.12 signature). This implies also +"aaip_susp_1_10" which may be changed by subsequent -compliance option. +.br "aaip_susp_1_10" allows AAIP to be written as inofficial extension of RRIP rather than as official extension under SUSP-1.12. Try this if a reader program dislikes the official form. diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index c7fc7e60..29115cd6 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2009.03.08.140002" +#define Xorriso_timestamP "2009.03.10.092227" diff --git a/xorriso/xorrisoburn.c b/xorriso/xorrisoburn.c index b6c4e31e..10b72de4 100644 --- a/xorriso/xorrisoburn.c +++ b/xorriso/xorrisoburn.c @@ -8521,10 +8521,15 @@ int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode, xorriso->relax_compliance&= ~isoburn_igopt_always_gmt; } else if((l == 6 && strncmp(cpt, "old_rr", l) == 0) || - (l == 9 && strncmp(cpt, "old_rr_on", l) == 0)) { - xorriso->relax_compliance|= isoburn_igopt_rrip_version_1_10; - } else if(l == 10 && strncmp(cpt, "old_rr_off", l) == 0) { - xorriso->relax_compliance&= ~isoburn_igopt_rrip_version_1_10; + (l == 9 && strncmp(cpt, "old_rr_on", l) == 0) || + (l == 10 && strncmp(cpt, "new_rr_off", l) == 0)) { + xorriso->relax_compliance|= + isoburn_igopt_rrip_version_1_10 | isoburn_igopt_aaip_susp_1_10; + } else if((l == 10 && strncmp(cpt, "old_rr_off", l) == 0) || + (l == 9 && strncmp(cpt, "new_rr_on", l) == 0) || + (l == 6 && strncmp(cpt, "new_rr", l) == 0)) { + xorriso->relax_compliance&= + ~(isoburn_igopt_rrip_version_1_10 | isoburn_igopt_aaip_susp_1_10); } else if((l == 9 && strncmp(cpt, "rec_mtime", l) == 0) || (l == 12 && strncmp(cpt, "rec_mtime_on", l) == 0)) { @@ -8533,9 +8538,12 @@ int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode, xorriso->relax_compliance&= ~isoburn_igopt_dir_rec_mtime; } else if((l == 14 && strncmp(cpt, "aaip_susp_1_10", l) == 0) || - (l == 17 && strncmp(cpt, "aaip_susp_1_10_on", l) == 0)) { + (l == 17 && strncmp(cpt, "aaip_susp_1_10_on", l) == 0) || + (l == 18 && strncmp(cpt, "aaip_susp_1_12_off", l) == 0)) { xorriso->relax_compliance|= isoburn_igopt_aaip_susp_1_10; - } else if(l == 18 && strncmp(cpt, "aaip_susp_1_10_off", l) == 0) { + } else if((l == 18 && strncmp(cpt, "aaip_susp_1_10_off", l) == 0) || + (l == 17 && strncmp(cpt, "aaip_susp_1_12_on", l) == 0) || + (l == 14 && strncmp(cpt, "aaip_susp_1_12", l) == 0)) { xorriso->relax_compliance&= ~isoburn_igopt_aaip_susp_1_10; } else if((l == 8 && strncmp(cpt, "iso_9660", l) == 0) || @@ -8593,11 +8601,13 @@ int Xorriso_get_relax_text(struct XorrisO *xorriso, char mode[1024], strcat(mode, ":joliet_long_paths"); if(r & isoburn_igopt_always_gmt) strcat(mode, ":always_gmt"); - if(r & isoburn_igopt_rrip_version_1_10) - strcat(mode, ":old_rr"); if(r & isoburn_igopt_dir_rec_mtime) strcat(mode, ":rec_mtime"); - if(r & isoburn_igopt_aaip_susp_1_10) + if(r & isoburn_igopt_rrip_version_1_10) { + strcat(mode, ":old_rr"); + if(!(r & isoburn_igopt_aaip_susp_1_10)) + strcat(mode, ":aaip_susp_1_10_off"); + } else if(r & isoburn_igopt_aaip_susp_1_10) strcat(mode, ":aaip_susp_1_10"); return(1 + (r == Xorriso_relax_compliance_defaulT)); }