Disabled TOC emulation with -as mkisofs. May be re-enabled by --emul-toc.

This commit is contained in:
Thomas Schmitt 2010-12-28 12:33:52 +00:00
parent 3f3aa05f64
commit d83fc6cfec
5 changed files with 77 additions and 51 deletions

View File

@ -533,7 +533,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
"-no-mac-files", "-chrp-boot", "-no-mac-files", "-chrp-boot",
"--hardlinks", "--acl", "--xattr", "--md5", "--for_backup", "--hardlinks", "--acl", "--xattr", "--md5", "--for_backup",
"--protective-msdos-label", "--boot-catalog-hide", "--no-emul-toc", "--protective-msdos-label", "--boot-catalog-hide", "--no-emul-toc",
"-disallow_dir_id_ext", "--emul-toc", "-disallow_dir_id_ext",
"" ""
}; };
static char arg1_options[][41]= { static char arg1_options[][41]= {
@ -772,6 +772,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" --sort-weight NUMBER FILE Set LBA weight number to file or file tree", " --sort-weight NUMBER FILE Set LBA weight number to file or file tree",
" --stdio_sync on|off|number Control forced output to disk files", " --stdio_sync on|off|number Control forced output to disk files",
" --no-emul-toc Save 64 kB size on random access output files", " --no-emul-toc Save 64 kB size on random access output files",
" --emul-toc Multi-session history on such output files",
" -z, -transparent-compression", " -z, -transparent-compression",
" Enable transparent compression of files", " Enable transparent compression of files",
" -v, -verbose Verbose", " -v, -verbose Verbose",
@ -882,7 +883,7 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
int option_b= 0, was_failure= 0, fret, lower_r= 0, zero= 0; int option_b= 0, was_failure= 0, fret, lower_r= 0, zero= 0;
int dir_mode= -1, file_mode= -1, count, partition_number, allow_dir_id_ext= 1; int dir_mode= -1, file_mode= -1, count, partition_number, allow_dir_id_ext= 1;
mode_t mode_and, mode_or; mode_t mode_and, mode_or;
int with_boot_image= 0, with_cat_path= 0; int with_boot_image= 0, with_cat_path= 0, with_emul_toc= 0;
int *weight_list= NULL, weight_count= 0; int *weight_list= NULL, weight_count= 0;
int *delay_opt_list= NULL, delay_opt_count= 0; int *delay_opt_list= NULL, delay_opt_count= 0;
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];
@ -1050,6 +1051,12 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
Xorriso_option_stdio_sync(xorriso, argv[i], 0); Xorriso_option_stdio_sync(xorriso, argv[i], 0);
} else if(strcmp(argv[i], "-disallow_dir_id_ext")==0) { } else if(strcmp(argv[i], "-disallow_dir_id_ext")==0) {
allow_dir_id_ext= 0; allow_dir_id_ext= 0;
} else if(strcmp(argv[i], "--emul-toc")==0) {
with_emul_toc= 1;
xorriso->no_emul_toc&= ~1;
} else if(strcmp(argv[i], "--no-emul-toc")==0) {
with_emul_toc= 0;
xorriso->no_emul_toc|= 1;
} else } else
was_other_option= 1; was_other_option= 1;
ret= Xorriso_genisofs_count_args(xorriso, argc - i, argv + i, &count, 0); ret= Xorriso_genisofs_count_args(xorriso, argc - i, argv + i, &count, 0);
@ -1313,8 +1320,6 @@ not_enough_args:;
} else if(strcmp(argv[i], "-z")==0 || } else if(strcmp(argv[i], "-z")==0 ||
strcmp(argv[i], "-transparent-compression")==0) { strcmp(argv[i], "-transparent-compression")==0) {
/* was already handled in first argument scan */; /* was already handled in first argument scan */;
} else if(strcmp(argv[i], "--no-emul-toc")==0) {
xorriso->no_emul_toc|= 1;
} else if(strcmp(argv[i], "-U") == 0 || } else if(strcmp(argv[i], "-U") == 0 ||
strcmp(argv[i], "-untranslated-filenames") == 0) { strcmp(argv[i], "-untranslated-filenames") == 0) {
Xorriso_relax_compliance(xorriso, Xorriso_relax_compliance(xorriso,
@ -1444,6 +1449,11 @@ not_enough_args:;
goto not_enough_args; goto not_enough_args;
i++; i++;
/* was already handled in first argument scan */; /* was already handled in first argument scan */;
} else if(strcmp(argv[i], "--emul-toc")==0 ||
strcmp(argv[i], "--no-emul-toc")==0) {
/* was already handled in first argument scan */;
} else if(strcmp(argv[i], "-disallow_dir_id_ext")==0) { } else if(strcmp(argv[i], "-disallow_dir_id_ext")==0) {
/* was already handled in first argument scan */; /* was already handled in first argument scan */;
@ -1503,6 +1513,10 @@ is_pathspec_2:;
Xorriso_relax_compliance(xorriso, sfe, 0); Xorriso_relax_compliance(xorriso, sfe, 0);
iso_level= 0; iso_level= 0;
} }
/* For the sake of compatibility give up emulated multi-session by default
*/
if(with_emul_toc == 0)
xorriso->no_emul_toc|= 1;
} }
continue; /* regular bottom of loop */ continue; /* regular bottom of loop */
problem_handler_2:; problem_handler_2:;

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps .\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1) .\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Dec 25, 2010" .TH XORRISO 1 "Dec 28, 2010"
.\" Please adjust this date whenever revising the manpage. .\" Please adjust this date whenever revising the manpage.
.\" .\"
.\" Some roff macros, for reference: .\" Some roff macros, for reference:
@ -2940,6 +2940,7 @@ session number, resp. volume id of the depicted session.
Print the foreseeable consumption of 2048 byte blocks Print the foreseeable consumption of 2048 byte blocks
by next -commit. This can last a while as a -commit gets by next -commit. This can last a while as a -commit gets
prepared and only in last moment is revoked by this option. prepared and only in last moment is revoked by this option.
The result depends on several settings and also on the kind of output device.
.TP .TP
\fB\-tell_media_space\fR \fB\-tell_media_space\fR
Print available space on output media and the free space after Print available space on output media and the free space after
@ -3521,7 +3522,10 @@ They work like the xorriso options with the
same name and hardcoded argument "on", e.g. -acl "on". same name and hardcoded argument "on", e.g. -acl "on".
Explicit arguments are expected by --stdio_sync Explicit arguments are expected by --stdio_sync
and --scdbackup_tag. and --scdbackup_tag.
--no-emul-toc is -compliance no_emul_toc. .br
The capability to preserve multi-session history on overwriteable media
gets disabled by default. It can be enabled by using --emul-toc
with the first session. See -compliance no_emul_toc.
.br .br
--sort-weight gets as arguments a number and an iso_rr_path. --sort-weight gets as arguments a number and an iso_rr_path.
The number becomes the LBA sorting weight of regular file iso_rr_path or The number becomes the LBA sorting weight of regular file iso_rr_path or

View File

@ -2596,7 +2596,8 @@ File: xorriso.info, Node: Inquiry, Next: Navigate, Prev: DialogCtl, Up: Opti
-print_size -print_size
Print the foreseeable consumption of 2048 byte blocks by next Print the foreseeable consumption of 2048 byte blocks by next
-commit. This can last a while as a -commit gets prepared and only -commit. This can last a while as a -commit gets prepared and only
in last moment is revoked by this option. in last moment is revoked by this option. The result depends on
several settings and also on the kind of output device.
-tell_media_space -tell_media_space
Print available space on output media and the free space after Print available space on output media and the free space after
@ -3138,7 +3139,10 @@ programs trigger comparable actions.
, --acl , --xattr , --md5 , --stdio_sync . They work like the , --acl , --xattr , --md5 , --stdio_sync . They work like the
xorriso options with the same name and hardcoded argument "on", xorriso options with the same name and hardcoded argument "on",
e.g. -acl "on". Explicit arguments are expected by --stdio_sync e.g. -acl "on". Explicit arguments are expected by --stdio_sync
and --scdbackup_tag. --no-emul-toc is -compliance no_emul_toc. and --scdbackup_tag.
The capability to preserve multi-session history on overwriteable
media gets disabled by default. It can be enabled by using
--emul-toc with the first session. See -compliance no_emul_toc.
--sort-weight gets as arguments a number and an iso_rr_path. The --sort-weight gets as arguments a number and an iso_rr_path. The
number becomes the LBA sorting weight of regular file iso_rr_path number becomes the LBA sorting weight of regular file iso_rr_path
or of all regular files underneath directory iso_rr_path. (See or of all regular files underneath directory iso_rr_path. (See
@ -4092,7 +4096,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -out_charset sets output character set: SetWrite. (line 180) * -out_charset sets output character set: SetWrite. (line 180)
* -outdev aquires a drive for output: AqDrive. (line 29) * -outdev aquires a drive for output: AqDrive. (line 29)
* -overwrite enables overwriting in ISO: SetInsert. (line 127) * -overwrite enables overwriting in ISO: SetInsert. (line 127)
* -pacifier controls pacifier text form: Emulation. (line 139) * -pacifier controls pacifier text form: Emulation. (line 142)
* -padding sets amount of image padding: SetWrite. (line 263) * -padding sets amount of image padding: SetWrite. (line 263)
* -page set terminal geometry: DialogCtl. (line 15) * -page set terminal geometry: DialogCtl. (line 15)
* -paste_in copies file into disk file: Restore. (line 117) * -paste_in copies file into disk file: Restore. (line 117)
@ -4106,13 +4110,13 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -prog_help prints help text: Frontend. (line 33) * -prog_help prints help text: Frontend. (line 33)
* -prompt prompts for enter key: Scripting. (line 80) * -prompt prompts for enter key: Scripting. (line 80)
* -publisher sets publisher id: SetWrite. (line 108) * -publisher sets publisher id: SetWrite. (line 108)
* -pvd_info shows image id strings: Inquiry. (line 78) * -pvd_info shows image id strings: Inquiry. (line 79)
* -pwd tells working directory in ISO: Navigate. (line 20) * -pwd tells working directory in ISO: Navigate. (line 20)
* -pwdx tells working directory on disk: Navigate. (line 23) * -pwdx tells working directory on disk: Navigate. (line 23)
* -quoted_not_list sets exclusions: SetInsert. (line 72) * -quoted_not_list sets exclusions: SetInsert. (line 72)
* -quoted_path_list inserts paths from disk file: Insert. (line 80) * -quoted_path_list inserts paths from disk file: Insert. (line 80)
* -read_mkisofsrc searches and reads .mkisofsrc file: Emulation. * -read_mkisofsrc searches and reads .mkisofsrc file: Emulation.
(line 127) (line 130)
* -reassure enables confirmation question: DialogCtl. (line 28) * -reassure enables confirmation question: DialogCtl. (line 28)
* -report_about controls verbosity: Exception. (line 55) * -report_about controls verbosity: Exception. (line 55)
* -return_with controls exit value: Exception. (line 39) * -return_with controls exit value: Exception. (line 39)
@ -4122,7 +4126,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -rollback discards pending changes: Writing. (line 9) * -rollback discards pending changes: Writing. (line 9)
* -rollback_end ends program without writing: Scripting. (line 125) * -rollback_end ends program without writing: Scripting. (line 125)
* -rom_toc_scan searches for sessions: Loading. (line 203) * -rom_toc_scan searches for sessions: Loading. (line 203)
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 149) * -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 152)
* -scsi_log reports SCSI commands: Scripting. (line 113) * -scsi_log reports SCSI commands: Scripting. (line 113)
* -session_log logs written sessions: Scripting. (line 104) * -session_log logs written sessions: Scripting. (line 104)
* -session_string composes session info line: Inquiry. (line 56) * -session_string composes session info line: Inquiry. (line 56)
@ -4143,7 +4147,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -stdio_sync controls stdio buffer: SetWrite. (line 240) * -stdio_sync controls stdio buffer: SetWrite. (line 240)
* -stream_recording controls defect management: SetWrite. (line 221) * -stream_recording controls defect management: SetWrite. (line 221)
* -system_id sets system id: SetWrite. (line 123) * -system_id sets system id: SetWrite. (line 123)
* -tell_media_space reports free space: Inquiry. (line 74) * -tell_media_space reports free space: Inquiry. (line 75)
* -temp_mem_limit curbs memory consumption: Scripting. (line 70) * -temp_mem_limit curbs memory consumption: Scripting. (line 70)
* -toc shows list of sessions: Inquiry. (line 18) * -toc shows list of sessions: Inquiry. (line 18)
* -uid sets global ownership: SetWrite. (line 186) * -uid sets global ownership: SetWrite. (line 186)
@ -4179,11 +4183,11 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Backslash Interpretation, _definition: Processing. (line 49) * Backslash Interpretation, _definition: Processing. (line 49)
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 182) * Backup, enable fast incremental, -disk_dev_ino: Loading. (line 182)
* Backup, enable features, -for_backup: Loading. (line 177) * Backup, enable features, -for_backup: Loading. (line 177)
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 149) * Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 152)
* Blank media, _definition: Media. (line 29) * Blank media, _definition: Media. (line 29)
* Blind growing, _definition: Methods. (line 40) * Blind growing, _definition: Methods. (line 40)
* Bootability, control, -boot_image: Bootable. (line 26) * Bootability, control, -boot_image: Bootable. (line 26)
* cdrecord, Emulation: Emulation. (line 94) * cdrecord, Emulation: Emulation. (line 97)
* Character Set, _definition: Charset. (line 6) * Character Set, _definition: Charset. (line 6)
* Character Set, for input, -in_charset: Loading. (line 92) * Character Set, for input, -in_charset: Loading. (line 92)
* Character Set, for input/output, -charset: Charset. (line 43) * Character Set, for input/output, -charset: Charset. (line 43)
@ -4218,10 +4222,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Drive, write and eject, -commit_eject: Writing. (line 40) * Drive, write and eject, -commit_eject: Writing. (line 40)
* El Torito, _definiton: Extras. (line 19) * El Torito, _definiton: Extras. (line 19)
* Emulation, -as: Emulation. (line 13) * Emulation, -as: Emulation. (line 13)
* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 127) * Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 130)
* Emulation, cdrecord, -as: Emulation. (line 94) * Emulation, cdrecord, -as: Emulation. (line 97)
* Emulation, mkisofs, -as: Emulation. (line 16) * Emulation, mkisofs, -as: Emulation. (line 16)
* Emulation, pacifier form, -pacifier: Emulation. (line 139) * Emulation, pacifier form, -pacifier: Emulation. (line 142)
* Examples: Examples. (line 6) * Examples: Examples. (line 6)
* Filter, _definition: Filter. (line 6) * Filter, _definition: Filter. (line 6)
* Filter, apply to file tree, -set_filter_r: Filter. (line 84) * Filter, apply to file tree, -set_filter_r: Filter. (line 84)
@ -4251,7 +4255,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Image, set volume id, -volid: SetWrite. (line 84) * Image, set volume id, -volid: SetWrite. (line 84)
* Image, set volume set id, -volset_id: SetWrite. (line 103) * Image, set volume set id, -volset_id: SetWrite. (line 103)
* Image, set volume timestamp, -volume_date: SetWrite. (line 130) * Image, set volume timestamp, -volume_date: SetWrite. (line 130)
* Image, show id strings, -pvd_info: Inquiry. (line 78) * Image, show id strings, -pvd_info: Inquiry. (line 79)
* Insert, enable overwriting, -overwrite: SetInsert. (line 127) * Insert, enable overwriting, -overwrite: SetInsert. (line 127)
* Insert, file exclusion absolute, -not_paths: SetInsert. (line 55) * Insert, file exclusion absolute, -not_paths: SetInsert. (line 55)
* Insert, file exclusion from file, -not_list: SetInsert. (line 67) * Insert, file exclusion from file, -not_list: SetInsert. (line 67)
@ -4387,7 +4391,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Write, defect management, -stream_recording: SetWrite. (line 221) * Write, defect management, -stream_recording: SetWrite. (line 221)
* Write, enable Joliet, -joliet: SetWrite. (line 10) * Write, enable Joliet, -joliet: SetWrite. (line 10)
* Write, fifo size, -fs: SetWrite. (line 250) * Write, fifo size, -fs: SetWrite. (line 250)
* Write, free space, -tell_media_space: Inquiry. (line 74) * Write, free space, -tell_media_space: Inquiry. (line 75)
* Write, log problematic disk files, -errfile_log: Scripting. (line 84) * Write, log problematic disk files, -errfile_log: Scripting. (line 84)
* Write, log written sessions, -session_log: Scripting. (line 104) * Write, log written sessions, -session_log: Scripting. (line 104)
* Write, padding image, -padding: SetWrite. (line 263) * Write, padding image, -padding: SetWrite. (line 263)
@ -4431,33 +4435,33 @@ Node: Charset117519
Node: Exception120270 Node: Exception120270
Node: DialogCtl124785 Node: DialogCtl124785
Node: Inquiry127130 Node: Inquiry127130
Node: Navigate131260 Node: Navigate131344
Node: Verify139155 Node: Verify139239
Node: Restore147744 Node: Restore147828
Node: Emulation154400 Node: Emulation154484
Node: Scripting163071 Node: Scripting163316
Node: Frontend168633 Node: Frontend168878
Node: Examples169928 Node: Examples170173
Node: ExDevices171097 Node: ExDevices171342
Node: ExCreate171731 Node: ExCreate171976
Node: ExDialog173005 Node: ExDialog173250
Node: ExGrowing174267 Node: ExGrowing174512
Node: ExModifying175069 Node: ExModifying175314
Node: ExBootable175570 Node: ExBootable175815
Node: ExCharset176117 Node: ExCharset176362
Node: ExPseudo176945 Node: ExPseudo177190
Node: ExCdrecord177839 Node: ExCdrecord178084
Node: ExMkisofs178154 Node: ExMkisofs178399
Node: ExGrowisofs179157 Node: ExGrowisofs179402
Node: ExException180281 Node: ExException180526
Node: ExTime180735 Node: ExTime180980
Node: ExIncBackup181194 Node: ExIncBackup181439
Node: ExRestore184666 Node: ExRestore184911
Node: ExRecovery185635 Node: ExRecovery185880
Node: Files186201 Node: Files186446
Node: Seealso187429 Node: Seealso187674
Node: Legal187953 Node: Legal188198
Node: CommandIdx188875 Node: CommandIdx189120
Node: ConceptIdx203101 Node: ConceptIdx203346
 
End Tag Table End Tag Table

View File

@ -44,7 +44,7 @@
@c man .\" First parameter, NAME, should be all caps @c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1) @c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISO 1 "Dec 25, 2010" @c man .TH XORRISO 1 "Dec 28, 2010"
@c man .\" Please adjust this date whenever revising the manpage. @c man .\" Please adjust this date whenever revising the manpage.
@c man .\" @c man .\"
@c man .\" Some roff macros, for reference: @c man .\" Some roff macros, for reference:
@ -3474,6 +3474,7 @@ session number, resp. volume id of the depicted session.
Print the foreseeable consumption of 2048 byte blocks Print the foreseeable consumption of 2048 byte blocks
by next -commit. This can last a while as a -commit gets by next -commit. This can last a while as a -commit gets
prepared and only in last moment is revoked by this option. prepared and only in last moment is revoked by this option.
The result depends on several settings and also on the kind of output device.
@c man .TP @c man .TP
@item -tell_media_space @item -tell_media_space
@kindex -tell_media_space reports free space @kindex -tell_media_space reports free space
@ -4172,7 +4173,10 @@ They work like the xorriso options with the
same name and hardcoded argument "on", e.g. -acl "on". same name and hardcoded argument "on", e.g. -acl "on".
Explicit arguments are expected by @minus{}@minus{}stdio_sync Explicit arguments are expected by @minus{}@minus{}stdio_sync
and @minus{}@minus{}scdbackup_tag. and @minus{}@minus{}scdbackup_tag.
@minus{}@minus{}no-emul-toc is -compliance no_emul_toc. @*
The capability to preserve multi-session history on overwriteable media
gets disabled by default. It can be enabled by using @minus{}@minus{}emul-toc
with the first session. See -compliance no_emul_toc.
@* @*
@minus{}@minus{}sort-weight gets as arguments a number and an iso_rr_path. @minus{}@minus{}sort-weight gets as arguments a number and an iso_rr_path.
The number becomes the LBA sorting weight of regular file iso_rr_path or The number becomes the LBA sorting weight of regular file iso_rr_path or

View File

@ -1 +1 @@
#define Xorriso_timestamP "2010.12.28.093144" #define Xorriso_timestamP "2010.12.28.123348"