New -zisofs option by_magic=on

This commit is contained in:
2009-04-14 09:23:06 +00:00
parent 572dfb1584
commit 1ee9e2a16f
5 changed files with 65 additions and 13 deletions

View File

@ -4124,6 +4124,7 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
m->filter_list_closed= 0;
m->zlib_level_default= m->zlib_level= 6;
m->zisofs_block_size= m->zisofs_block_size_default= (1 << 15);
m->zisofs_by_magic= 0;
m->do_overwrite= 2;
m->do_reassure= 0;
m->drive_blacklist= NULL;
@ -9946,6 +9947,8 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
" -no-emul-boot Boot image is 'no emulation' image",
" -boot-info-table Patch boot image with info table",
" isolinux_mbr=on|auto|off Control eventual isohybrid MBR generation",
" -z, -transparent-compression",
" Enable transparent compression of files",
" -v, -verbose Verbose",
" -version Print the current version",
"@End_of_helptexT@"
@ -10094,6 +10097,9 @@ int Xorriso_genisofs(struct XorrisO *xorriso, char *whom,
Xorriso_option_acl(xorriso, "on", 0);
} else if(strcmp(argv[i], "--xattr")==0) {
Xorriso_option_xattr(xorriso, "on", 0);
} else if(strcmp(argv[i], "-z")==0 ||
strcmp(argv[i], "-transparent-compression")==0) {
Xorriso_option_zisofs(xorriso, "by_magic=on", 0);
} else
was_other_option= 1;
@ -10302,6 +10308,9 @@ not_enough_args:;
/* was already handled in first argument scan */;
} else if(strcmp(argv[i], "--xattr")==0) {
/* was already handled in first argument scan */;
} else if(strcmp(argv[i], "-z")==0 ||
strcmp(argv[i], "-transparent-compression")==0) {
/* was already handled in first argument scan */;
} 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));
@ -14321,7 +14330,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
"compressed content is detected with a file in the ISO image.",
" -zisofs option[:options]",
" Set global zisofs parameters:",
" level=0|...|9 , block_size=32k|64k|128k",
" level=0|...|9 , block_size=32k|64k|128k , by_magic=on|off",
"",
"Write-to-media options:",
" -rollback Discard the manipulated ISO image and reload it.",
@ -14464,13 +14473,14 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
"",
"Compatibility emulation (argument list may be ended by list delimiter --):",
" -as mkisofs [-help|-version|-o|-R|-J|-V|-P|-f|-m|-exclude-list|-no-pad|",
" -M|-C|-graft-points|-path-list|pathspecs|",
" -M|-C|-graft-points|-path-list|pathspecs|-z|",
" -no-emul-boot|-b|-c|-boot-info-table|-boot-load-size]",
" Perform some mkisofs gestures, understand pathspecs as mkisofs",
" does. Commit happens outside emulation at usual occasions.",
" -as cdrecord [-help|-v|dev=|speed=|blank=|fs=|-eject|-atip|padsize=|path|-]",
" -as cdrecord [-help|-v|dev=|speed=|blank=|fs=|-eject|-atip|padsize=|-multi]",
" path|-",
" Perform some cdrecord gestures, eventually write at most one",
" data track to blank or overwriteable media.",
" data track to blank, appendable or overwriteable media.",
" -pacifier \"xorriso\"|\"cdrecord\"|\"mkisofs\"",
" Choose format of UPDATE pacifier during write operations.",
"",
@ -17094,9 +17104,16 @@ int Xorriso_option_zisofs(struct XorrisO *xorriso, char *mode, int flag)
}
xorriso->zisofs_block_size= num;
} else if(strncmp(cpt, "by_magic=", 8)==0) {
if(strncmp(cpt + 9, "on", l - 9) == 0)
xorriso->zisofs_by_magic= 1;
else
xorriso->zisofs_by_magic= 0;
} else if(strncmp(cpt, "default", l)==0) {
xorriso->zlib_level= xorriso->zlib_level_default;
xorriso->zisofs_block_size= xorriso->zisofs_block_size_default;
xorriso->zisofs_by_magic= 0;
} else {
unknown_mode:;