New -rom_toc_scan option "emul_wide"

This commit is contained in:
2012-08-14 10:32:35 +00:00
parent 67ed82cd77
commit 2c8d3dd0ae
10 changed files with 92 additions and 71 deletions

View File

@ -620,7 +620,6 @@ int Xorriso_option_rom_toc_scan(struct XorrisO *xorriso, char *mode, int flag)
int l;
char *cpt, *npt;
xorriso->toc_emulation_flag= 0;
npt= cpt= mode;
for(cpt= mode; npt != NULL; cpt= npt + 1) {
npt= strchr(cpt,':');
@ -629,20 +628,22 @@ int Xorriso_option_rom_toc_scan(struct XorrisO *xorriso, char *mode, int flag)
else
l= npt-cpt;
if(l==0)
goto unknown_mode;
xorriso->toc_emulation_flag&= ~4;
continue;
if(strncmp(cpt, "off", l) == 0)
xorriso->toc_emulation_flag&= ~1;
xorriso->toc_emulation_flag&= ~5;
else if(strncmp(cpt, "on", l) == 0)
xorriso->toc_emulation_flag|= 1;
xorriso->toc_emulation_flag= (xorriso->toc_emulation_flag & ~4) | 1;
else if(strncmp(cpt, "force", l) == 0)
xorriso->toc_emulation_flag|= 4;
xorriso->toc_emulation_flag|= 5;
else if(strncmp(cpt, "emul_off", l) == 0)
xorriso->toc_emulation_flag|= 2;
else if(strncmp(cpt, "emul_on", l) == 0)
xorriso->toc_emulation_flag&= ~2;
else if(strncmp(cpt, "emul_wide", l) == 0)
xorriso->toc_emulation_flag|= 8;
else if(strncmp(cpt, "emul_narrow", l) == 0)
xorriso->toc_emulation_flag&= ~8;
else {
unknown_mode:;
sprintf(xorriso->info_text, "-rom_toc_scan: unknown mode in '%s'", mode);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(0);