New option -isosize with -as cdrecord
This commit is contained in:
@ -7072,7 +7072,7 @@ int Xorriso_cdrskin(struct XorrisO *xorriso, char *whom, int argc, char **argv,
|
||||
int ret, i, k, mem_do_close, aq_ret, eject_ret, msc1, msc2, hflag;
|
||||
int do_atip= 0, do_checkdrive= 0, do_eject= 0, do_scanbus= 0;
|
||||
int do_toc= 0, do_verbous= 0, do_version= 0, do_help= 0, do_waiti= 0;
|
||||
int do_multi= 0, do_msinfo= 0, do_grow= 0;
|
||||
int do_multi= 0, do_msinfo= 0, do_grow= 0, do_isosize= 0;
|
||||
double write_start_address= -1.0;
|
||||
char track_source[SfileadrL], sfe[5*SfileadrL], dev_adr[SfileadrL], *cpt;
|
||||
char mem_report_about_text[80], *report_about= "SORRY", blank_mode[80];
|
||||
@ -7104,7 +7104,7 @@ int Xorriso_cdrskin(struct XorrisO *xorriso, char *whom, int argc, char **argv,
|
||||
"-cdi", "-preemp", "-nopreemp", "-copy", "-nocopy",
|
||||
"-scms", "-shorttrack", "-noshorttrack", "-packet", "-noclose",
|
||||
"-media-info", "-minfo",
|
||||
"-isosize", "-load", "-lock", "-raw96r", "-sao", "-dao", "-swab",
|
||||
"-load", "-lock", "-raw96r", "-sao", "-dao", "-swab",
|
||||
"-tao", "-force", "-format",
|
||||
|
||||
"--adjust_speed_to_drive", "--allow_emulated_drives", "--allow_setuid",
|
||||
@ -7245,6 +7245,8 @@ no_volunteer:;
|
||||
strncmp(argv[i], "dev=", 4)==0) {
|
||||
cpt= strchr(argv[i], '=')+1;
|
||||
strcpy(dev_adr, cpt);
|
||||
} else if(strcmp(argv[i], "--devices")==0) {
|
||||
do_scanbus= 2;
|
||||
} else if(strncmp(argv[i],"driveropts=", 11)==0 ||
|
||||
strncmp(argv[i],"-driveropts=", 12)==0) {
|
||||
if(strcmp(argv[i]+11, "help")==0) {
|
||||
@ -7261,53 +7263,6 @@ no_volunteer:;
|
||||
ret= Xorriso_option_fs(xorriso, cpt, 0);
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
} else if(strcmp(argv[i], "-inq")==0) {
|
||||
do_checkdrive= 2;
|
||||
} else if(strcmp(argv[i], "-nopad")==0) {
|
||||
xorriso->padding= 0;
|
||||
} else if(strcmp(argv[i], "-pad")==0) {
|
||||
xorriso->padding= 15*2048;
|
||||
} else if(strncmp(argv[i], "-padsize=", 9)==0 ||
|
||||
strncmp(argv[i], "padsize=", 8)==0) {
|
||||
cpt= strchr(argv[i], '=')+1;
|
||||
ret= Xorriso_option_padding(xorriso, cpt, 0);
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
} else if(strncmp(argv[i], "-speed=", 7)==0 ||
|
||||
strncmp(argv[i], "speed=", 6)==0) {
|
||||
cpt= strchr(argv[i], '=')+1;
|
||||
strncpy(speed, cpt, 79);
|
||||
speed[79]= 0;
|
||||
} else if(strcmp(argv[i], "-multi")==0) {
|
||||
|
||||
/* MULTI : allow -multi */
|
||||
/*
|
||||
sprintf(xorriso->info_text, "-as %s: Option -multi not supported.", whom);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
ret= 0; goto ex;
|
||||
*/
|
||||
do_multi= 1;
|
||||
|
||||
} else if(strcmp(argv[i], "-msinfo")==0) {
|
||||
|
||||
/* MULTI : allow -msinfo */
|
||||
/*
|
||||
sprintf(xorriso->info_text, "-as %s: Option -msinfo not supported.",whom);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
ret= 0; goto ex;
|
||||
*/
|
||||
do_msinfo= 1;
|
||||
} else if(strcmp(argv[i], "--devices")==0) {
|
||||
do_scanbus= 2;
|
||||
} else if(strcmp(argv[i], "-scanbus")==0) {
|
||||
sprintf(xorriso->info_text, "-as %s: Option -scanbus not supported.",
|
||||
whom);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
ret= 0; goto ex;
|
||||
|
||||
/* do_scanbus= 1; */
|
||||
} else if(strcmp(argv[i], "-toc")==0) {
|
||||
do_toc= 1;
|
||||
} else if(strcmp(argv[i], "--grow_overwriteable_iso")==0) {
|
||||
|
||||
/* MULTI : allow --grow_overwriteable_iso */
|
||||
@ -7320,14 +7275,55 @@ no_volunteer:;
|
||||
*/
|
||||
|
||||
do_grow= 1;
|
||||
} else if(strncmp(argv[i], "write_start_address=", 20)==0) {
|
||||
} else if(strcmp(argv[i], "-help")==0) {
|
||||
do_help= 1;
|
||||
} else if(strcmp(argv[i], "-isosize")==0) {
|
||||
do_isosize= 1;
|
||||
} else if(strcmp(argv[i], "-inq")==0) {
|
||||
do_checkdrive= 2;
|
||||
} else if(strcmp(argv[i], "-msinfo")==0) {
|
||||
|
||||
/* MULTI : allow write_start_address= */
|
||||
write_start_address= Scanf_io_size(argv[i]+20,0);
|
||||
/* MULTI : allow -msinfo */
|
||||
/*
|
||||
sprintf(xorriso->info_text, "-as %s: Option -msinfo not supported.",whom);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
ret= 0; goto ex;
|
||||
*/
|
||||
do_msinfo= 1;
|
||||
} else if(strcmp(argv[i], "-multi")==0) {
|
||||
|
||||
/* ??? >>> MULTI : combine write_start_address=32 with --grow_overwriteable_iso */
|
||||
/* ??? >>> MULTI : ??? how about cdrskin. shouldn't it combine too ? */
|
||||
/* MULTI : allow -multi */
|
||||
/*
|
||||
sprintf(xorriso->info_text, "-as %s: Option -multi not supported.", whom);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
ret= 0; goto ex;
|
||||
*/
|
||||
|
||||
do_multi= 1;
|
||||
} else if(strcmp(argv[i], "-nopad")==0) {
|
||||
xorriso->padding= 0;
|
||||
} else if(strcmp(argv[i], "-pad")==0) {
|
||||
xorriso->padding= 15*2048;
|
||||
} else if(strncmp(argv[i], "-padsize=", 9)==0 ||
|
||||
strncmp(argv[i], "padsize=", 8)==0) {
|
||||
cpt= strchr(argv[i], '=')+1;
|
||||
ret= Xorriso_option_padding(xorriso, cpt, 0);
|
||||
if(ret<=0)
|
||||
goto ex;
|
||||
} else if(strcmp(argv[i], "-scanbus")==0) {
|
||||
sprintf(xorriso->info_text, "-as %s: Option -scanbus not supported.",
|
||||
whom);
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
ret= 0; goto ex;
|
||||
|
||||
/* do_scanbus= 1; */
|
||||
} else if(strncmp(argv[i], "-speed=", 7)==0 ||
|
||||
strncmp(argv[i], "speed=", 6)==0) {
|
||||
cpt= strchr(argv[i], '=')+1;
|
||||
strncpy(speed, cpt, 79);
|
||||
speed[79]= 0;
|
||||
} else if(strcmp(argv[i], "-toc")==0) {
|
||||
do_toc= 1;
|
||||
} else if(strcmp(argv[i], "-v")==0 || strcmp(argv[i],"-verbose")==0) {
|
||||
do_verbous++;
|
||||
} else if(strcmp(argv[i], "-vv")==0) {
|
||||
@ -7338,8 +7334,14 @@ no_volunteer:;
|
||||
do_version= 1;
|
||||
} else if(strcmp(argv[i], "-waiti")==0) {
|
||||
do_waiti= 1;
|
||||
} else if(strcmp(argv[i], "-help")==0) {
|
||||
do_help= 1;
|
||||
} else if(strncmp(argv[i], "write_start_address=", 20)==0) {
|
||||
|
||||
/* MULTI : allow write_start_address= */
|
||||
write_start_address= Scanf_io_size(argv[i]+20,0);
|
||||
|
||||
/* ??? >>> MULTI : combine write_start_address=32 with --grow_overwriteable_iso */
|
||||
/* ??? >>> MULTI : ??? how about cdrskin. shouldn't it combine too ? */
|
||||
|
||||
} else if(argv[i][0]=='-' && argv[i][1]!=0) {
|
||||
sprintf(xorriso->info_text, "-as %s: Unknown option %s",
|
||||
whom, Text_shellsafe(argv[i], sfe, 0));
|
||||
@ -7483,7 +7485,7 @@ no_volunteer:;
|
||||
|
||||
xorriso->do_close= !do_multi;
|
||||
ret= Xorriso_burn_track(xorriso, (off_t) write_start_address,
|
||||
track_source, !!do_grow);
|
||||
track_source, (!!do_grow)|((!!do_isosize)<<1));
|
||||
aq_ret= Xorriso_reaquire_outdev(xorriso, 2*(ret>0));
|
||||
if(ret<=0 && ret<aq_ret)
|
||||
goto ex;
|
||||
|
Reference in New Issue
Block a user