New -format modes by_size_ and fast_by_size_
This commit is contained in:
@ -10930,7 +10930,8 @@ int Xorriso_option_ban_stdio_write(struct XorrisO *xorriso, int flag)
|
||||
int Xorriso_option_blank(struct XorrisO *xorriso, char *mode, int flag)
|
||||
{
|
||||
char drive_name[SfileadrL], *cmd= "-blank";
|
||||
int aq_ret, ret, aq_flag= 2, mode_flag, as_needed= 0, idx;
|
||||
int aq_ret, ret, aq_flag= 2, mode_flag= 0, as_needed= 0, idx;
|
||||
off_t size= 0;
|
||||
|
||||
if(flag&1)
|
||||
cmd= "-format";
|
||||
@ -10987,6 +10988,21 @@ unusable_index:;
|
||||
if(idx<0 || idx>255)
|
||||
goto unusable_index;
|
||||
mode_flag|= (idx<<8);
|
||||
} else if(strncmp(mode, "by_size_", 8) == 0 && (flag & 1)) {
|
||||
size= (off_t) Scanf_io_size(mode + 8, 0);
|
||||
if(size <= 0) {
|
||||
unusable_size:;
|
||||
sprintf(xorriso->info_text,
|
||||
"-format: mode '%s' provides unusable size value", mode);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
return(0);
|
||||
}
|
||||
mode_flag= 2;
|
||||
} else if(strncmp(mode, "fast_by_size_", 13) == 0 && (flag & 1)) {
|
||||
size= (off_t) Scanf_io_size(mode + 13, 0);
|
||||
if(size <= 0)
|
||||
goto unusable_size;
|
||||
mode_flag= 3;
|
||||
} else {
|
||||
sprintf(xorriso->info_text,
|
||||
"%s: Unknown %s mode '%s'",
|
||||
@ -10997,7 +11013,7 @@ unusable_index:;
|
||||
if(as_needed)
|
||||
ret= Xorriso_blank_as_needed(xorriso, (flag&1)<<2);
|
||||
else if(flag&1)
|
||||
ret= Xorriso_format_media(xorriso, mode_flag & 0xff81);
|
||||
ret= Xorriso_format_media(xorriso, size, mode_flag & 0xff83);
|
||||
else
|
||||
ret= Xorriso_blank_media(xorriso, mode_flag&3);
|
||||
if(ret==0)
|
||||
@ -12872,7 +12888,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
|
||||
" Allow for writing only the usage of optical drives.",
|
||||
" -blank \"fast\"|\"all\"|\"deformat\"|\"deformat_quickest\"",
|
||||
" Blank media resp. invalidate ISO image on media.",
|
||||
" -format \"as_needed\"|\"full\"|\"fast\"|\"by_index_#\"|\"fast_by_index_#\"",
|
||||
" -format \"as_needed\"|\"full\"|\"fast\"|\"by_index_#\"|\"by_size_#\"",
|
||||
" Format BD-RE, DVD-RAM, DVD-RW, DVD+RW.",
|
||||
" -volid volume_id",
|
||||
" Specifies the volume ID text. (32 chars out of [A-Z0-9_])",
|
||||
|
Reference in New Issue
Block a user