Adaptions of -as mkisofs and -as cdrecord to enable full use by scdbackup
This commit is contained in:
parent
cc3b6f75db
commit
55a70f1463
@ -6209,7 +6209,7 @@ int Xorriso_cdrskin(struct XorrisO *xorriso, char *whom, int argc, char **argv,
|
|||||||
"timeout=", "debug=", "kdebug=", "kd=", "driver=", "ts=",
|
"timeout=", "debug=", "kdebug=", "kd=", "driver=", "ts=",
|
||||||
"pregap=", "defpregap=", "mcn=", "isrc=", "index=", "textfile=",
|
"pregap=", "defpregap=", "mcn=", "isrc=", "index=", "textfile=",
|
||||||
"pktsize=", "cuefile=",
|
"pktsize=", "cuefile=",
|
||||||
"driveropts=", "gracetime=", "minbuf=",
|
"gracetime=", "minbuf=",
|
||||||
|
|
||||||
"assert_write_lba=", "fifo_start_at=", "dev_translation=",
|
"assert_write_lba=", "fifo_start_at=", "dev_translation=",
|
||||||
"drive_scsi_dev_family=", "fallback_program=", "modesty_on_drive=",
|
"drive_scsi_dev_family=", "fallback_program=", "modesty_on_drive=",
|
||||||
@ -6365,6 +6365,13 @@ no_volunteer:;
|
|||||||
ret= Xorriso_option_dev(xorriso, cpt, 2|8); /* overwriteables as blank */
|
ret= Xorriso_option_dev(xorriso, cpt, 2|8); /* overwriteables as blank */
|
||||||
if(ret<=0)
|
if(ret<=0)
|
||||||
goto ex;
|
goto ex;
|
||||||
|
} else if(strncmp(argv[i],"driveropts=", 11)==0 ||
|
||||||
|
strncmp(argv[i],"-driveropts=", 12)==0) {
|
||||||
|
if(strcmp(argv[i]+11, "help")==0) {
|
||||||
|
fprintf(stderr,"Driver options:\n");
|
||||||
|
fprintf(stderr,
|
||||||
|
"burnfree\tPrepare writer to use BURN-Free technology\n");
|
||||||
|
}
|
||||||
} else if(strcmp(argv[i], "-dummy")==0) {
|
} else if(strcmp(argv[i], "-dummy")==0) {
|
||||||
xorriso->do_dummy= 1;
|
xorriso->do_dummy= 1;
|
||||||
} else if(strcmp(argv[i], "-eject")==0) {
|
} else if(strcmp(argv[i], "-eject")==0) {
|
||||||
@ -6476,6 +6483,10 @@ no_volunteer:;
|
|||||||
ret= 1; goto ex;
|
ret= 1; goto ex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!(do_checkdrive || do_atip || do_toc || blank_mode[0] || track_source[0] ||
|
||||||
|
do_eject))
|
||||||
|
{ret= 1; goto ex;}
|
||||||
|
|
||||||
if(xorriso->out_drive_handle==NULL) {
|
if(xorriso->out_drive_handle==NULL) {
|
||||||
sprintf(xorriso->info_text, "-as %s: No output drive selected", whom);
|
sprintf(xorriso->info_text, "-as %s: No output drive selected", whom);
|
||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||||
@ -6550,7 +6561,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
|||||||
int argc, char **argv, int flag)
|
int argc, char **argv, int flag)
|
||||||
{
|
{
|
||||||
int ret, i, k, was_path= 0, was_other_option= 0, mem_graft_points;
|
int ret, i, k, was_path= 0, was_other_option= 0, mem_graft_points;
|
||||||
int do_print_size= 0, idx_offset= 0;
|
int do_print_size= 0, idx_offset= 0, fd;
|
||||||
char sfe[5*SfileadrL], adr[SfileadrL+8], ra_text[80], pathspec[2*SfileadrL];
|
char sfe[5*SfileadrL], adr[SfileadrL+8], ra_text[80], pathspec[2*SfileadrL];
|
||||||
char *ept, *add_pt, eff_path[SfileadrL];
|
char *ept, *add_pt, eff_path[SfileadrL];
|
||||||
|
|
||||||
@ -6599,7 +6610,19 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
|
|||||||
|
|
||||||
adr[0]= 0;
|
adr[0]= 0;
|
||||||
for(i= 0; i<argc; i++) {
|
for(i= 0; i<argc; i++) {
|
||||||
if(strcmp(argv[i], "-o")==0 || strcmp(argv[i], "-output")==0) {
|
if(strcmp(argv[i], "-version")==0) {
|
||||||
|
sprintf(xorriso->result_line,
|
||||||
|
"mkisofs 2.01-Emulation Copyright (C) 2008 see libburnia-project.org xorriso\n"
|
||||||
|
);
|
||||||
|
fd= xorriso->dev_fd_1;
|
||||||
|
if(fd<0)
|
||||||
|
fd= 1;
|
||||||
|
write(fd, xorriso->result_line, strlen(xorriso->result_line));
|
||||||
|
fsync(fd);
|
||||||
|
Xorriso_option_version(xorriso, 0);
|
||||||
|
|
||||||
|
/* >>> this would need a ban to write images to stdout */;
|
||||||
|
} else if(strcmp(argv[i], "-o")==0 || strcmp(argv[i], "-output")==0) {
|
||||||
if(i+1>=argc)
|
if(i+1>=argc)
|
||||||
goto not_enough_args;
|
goto not_enough_args;
|
||||||
i++;
|
i++;
|
||||||
@ -6696,9 +6719,8 @@ no_volunteer:;
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(strcmp(argv[i], "-version")==0) {
|
if(strcmp(argv[i], "-version")==0) {
|
||||||
sprintf(xorriso->result_line, "mkisofs 2.01-Emulation Copyright (C) 2008 see libburnia-project.org xorriso\n");
|
/* was already handled in first argument scan */;
|
||||||
Xorriso_result(xorriso, 1);
|
|
||||||
Xorriso_option_version(xorriso, 0);
|
|
||||||
} else if(strcmp(argv[i], "-R")==0 || strcmp(argv[i], "-rock")==0) {
|
} else if(strcmp(argv[i], "-R")==0 || strcmp(argv[i], "-rock")==0) {
|
||||||
/* ok */;
|
/* ok */;
|
||||||
} else if(strcmp(argv[i], "-J")==0 || strcmp(argv[i], "-joliet")==0) {
|
} else if(strcmp(argv[i], "-J")==0 || strcmp(argv[i], "-joliet")==0) {
|
||||||
@ -9098,6 +9120,7 @@ int Xorriso_option_print_size(struct XorrisO *xorriso, int flag)
|
|||||||
if(fd<0)
|
if(fd<0)
|
||||||
fd= 1;
|
fd= 1;
|
||||||
write(fd, xorriso->result_line, strlen(xorriso->result_line));
|
write(fd, xorriso->result_line, strlen(xorriso->result_line));
|
||||||
|
fsync(fd);
|
||||||
} else {
|
} else {
|
||||||
sprintf(xorriso->result_line,"Image size : %ds\n", ret);
|
sprintf(xorriso->result_line,"Image size : %ds\n", ret);
|
||||||
Xorriso_result(xorriso,0);
|
Xorriso_result(xorriso,0);
|
||||||
@ -10243,7 +10266,7 @@ protect_stdout:;
|
|||||||
"Encountered - or stdio:/dev/fd/1 as possible write target.");
|
"Encountered - or stdio:/dev/fd/1 as possible write target.");
|
||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||||
sprintf(xorriso->info_text,
|
sprintf(xorriso->info_text,
|
||||||
"Redirecting any text message output to stderr.");
|
"Redirecting nearly all text message output to stderr.");
|
||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||||
sprintf(xorriso->info_text, "Disabling use of libreadline.");
|
sprintf(xorriso->info_text, "Disabling use of libreadline.");
|
||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "NOTE", 0);
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2008.02.25.174229"
|
#define Xorriso_timestamP "2008.02.25.204402"
|
||||||
|
Loading…
Reference in New Issue
Block a user