New TOC layout with volume id and sbsector=, new option -rom_toc_scan
This commit is contained in:
@ -2695,6 +2695,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
|
||||
m->global_file_mode= 0444;
|
||||
m->do_overwrite= 2;
|
||||
m->do_reassure= 0;
|
||||
m->toc_emulation_flag= 0;
|
||||
m->indev[0]= 0;
|
||||
m->in_drive_handle= NULL;
|
||||
m->in_volset_handle= NULL;
|
||||
@ -4034,6 +4035,12 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
|
||||
|
||||
#endif /* Xorriso_with_readlinE */
|
||||
|
||||
is_default= !(xorriso->toc_emulation_flag&1);
|
||||
sprintf(line,"-rom_toc_scan %s\n",
|
||||
xorriso->toc_emulation_flag&1 ? "on" : "off");
|
||||
if(!(is_default && no_defaults))
|
||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||
|
||||
if(strcmp(xorriso->indev,xorriso->outdev)==0) {
|
||||
sprintf(line,"-dev %s\n", Text_shellsafe(xorriso->indev,sfe,0));
|
||||
Xorriso_status_result(xorriso,filter,fp,flag&2);
|
||||
@ -8977,6 +8984,8 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
|
||||
" growing to modifying.",
|
||||
" -outdev address",
|
||||
" Set output drive and switch from growing to modifying.",
|
||||
" -rom_toc_scan \"on\"|\"off\"",
|
||||
" Enable scanning for ISO sessions on read-only drives/media.",
|
||||
" -ban_stdio_write",
|
||||
" Allow for writing only the usage of optical drives.",
|
||||
" -blank \"fast\"|\"all\"|\"deformat\"|\"deformat_quickest\"",
|
||||
@ -10365,6 +10374,22 @@ int Xorriso_option_rollback(struct XorrisO *xorriso, int flag)
|
||||
}
|
||||
|
||||
|
||||
/* Option -rom_toc_scan */
|
||||
int Xorriso_option_rom_toc_scan(struct XorrisO *xorriso, char *mode, int flag)
|
||||
{
|
||||
if(strcmp(mode, "off")==0)
|
||||
xorriso->toc_emulation_flag= 0;
|
||||
else if(strcmp(mode, "on")==0)
|
||||
xorriso->toc_emulation_flag= 1;
|
||||
else {
|
||||
sprintf(xorriso->info_text, "-rom_toc_scan: unknown mode '%s'", mode);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
/* Option -session_log */
|
||||
int Xorriso_option_session_log(struct XorrisO *xorriso, char *path, int flag)
|
||||
{
|
||||
@ -11149,6 +11174,10 @@ next_command:;
|
||||
if(end_ret!=2)
|
||||
{ret= 3; goto ex;}
|
||||
|
||||
} else if(strcmp(cmd,"rom_toc_scan")==0) {
|
||||
(*idx)++;
|
||||
Xorriso_option_rom_toc_scan(xorriso, arg1, 0);
|
||||
|
||||
} else if(strcmp(cmd,"session_log")==0) {
|
||||
(*idx)++;
|
||||
ret= Xorriso_option_session_log(xorriso, arg1, 0);
|
||||
|
Reference in New Issue
Block a user