New -compliance rule no_emul_toc

This commit is contained in:
Thomas Schmitt 2010-05-23 07:27:09 +00:00
parent e82b7005ad
commit b69f1c5b66
4 changed files with 20 additions and 2 deletions

View File

@ -106,6 +106,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
m->do_joliet= 0;
m->do_aaip= 0;
m->do_md5= 0;
m->no_emul_toc= 0;
m->scdbackup_tag_name[0]= 0;
m->scdbackup_tag_time[0]= 0;
m->scdbackup_tag_written[0]= 0;

View File

@ -668,6 +668,8 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
((!!(xorriso->do_md5 & 2)) * isoburn_igopt_session_md5) |
((!!(xorriso->do_md5 & 4)) * isoburn_igopt_file_md5) |
((!!(xorriso->do_md5 & 8)) * isoburn_igopt_file_stability);
if(xorriso->no_emul_toc & 1)
ext|= isoburn_igopt_no_emul_toc;
isoburn_igopt_set_extensions(sopts, ext);
isoburn_igopt_set_relaxed(sopts, relax);
isoburn_igopt_set_sort_files(sopts, 1);
@ -1690,6 +1692,7 @@ ex:;
return(ret);
}
int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode,
int flag)
{
@ -1804,6 +1807,13 @@ int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode,
(l == 14 && strncmp(cpt, "aaip_susp_1_12", l) == 0)) {
xorriso->relax_compliance&= ~isoburn_igopt_aaip_susp_1_10;
} else if((l == 11 && strncmp(cpt, "no_emul_toc", l) == 0) ||
(l == 14 && strncmp(cpt, "no_emul_toc_on", l) == 0)) {
xorriso->no_emul_toc|= 1;
} else if((l == 15 && strncmp(cpt, "no_emul_toc_off", l) == 0) ||
(l == 8 && strncmp(cpt, "emul_toc", l) == 0)) {
xorriso->no_emul_toc&= ~1;
} else if((l == 8 && strncmp(cpt, "iso_9660", l) == 0) ||
(l == 11 && strncmp(cpt, "iso_9660_on", l) == 0)) {
/* may have a meaning in future */;
@ -1874,8 +1884,11 @@ int Xorriso_get_relax_text(struct XorrisO *xorriso, char mode[1024],
if(r & isoburn_igopt_aaip_susp_1_10)
strcat(mode, ":aaip_susp_1_10");
}
if(xorriso->no_emul_toc & 1)
strcat(mode, ":no_emul_toc");
return(1 + (r == Xorriso_relax_compliance_defaulT));
return(1 +
(r == Xorriso_relax_compliance_defaulT && !(xorriso->no_emul_toc & 1)));
}

View File

@ -125,6 +125,10 @@ struct XorrisO { /* the global context of xorriso */
bit4= use recorded MD5 as proxy of ISO file
*/
int no_emul_toc; /* bit0= On overwriteables:
write first session to LBA 0 rather than 32.
*/
char scdbackup_tag_name[81];
char scdbackup_tag_time[19];
char scdbackup_tag_written[512];

View File

@ -1 +1 @@
#define Xorriso_timestamP "2010.05.23.072450"
#define Xorriso_timestamP "2010.05.23.072616"