Renamed new option -relax_compliance to -compliance, added _off rules

This commit is contained in:
2008-11-29 09:10:59 +00:00
parent f81eb3a144
commit 968025ff49
4 changed files with 94 additions and 39 deletions

View File

@ -8206,39 +8206,89 @@ int Xorriso_relax_compliance(struct XorrisO *xorriso, char *mode,
xorriso->relax_compliance= 0;
} else if(l == 7 && strncmp(cpt, "default", l) == 0) {
xorriso->relax_compliance= Xorriso_relax_compliance_defaulT;
} else if(l == 12 && strncmp(cpt, "omit_version", l) == 0) {
xorriso->relax_compliance|= isoburn_igopt_omit_version_numbers;
} else if(l == 10 && strncmp(cpt, "deep_paths", l) == 0) {
xorriso->relax_compliance|= isoburn_igopt_allow_deep_paths;
} else if(l == 10 && strncmp(cpt, "long_paths", l) == 0) {
xorriso->relax_compliance|= isoburn_igopt_allow_longer_paths;
} else if(l == 10 && strncmp(cpt, "long_names", l) == 0) {
xorriso->relax_compliance|= isoburn_igopt_max_37_char_filenames;
} else if(l == 13 && strncmp(cpt, "no_force_dots", l) == 0) {
xorriso->relax_compliance|= isoburn_igopt_no_force_dots;
} else if(l == 9 && strncmp(cpt, "lowercase", l) == 0) {
xorriso->relax_compliance|= isoburn_igopt_allow_lowercase;
} else if(l == 10 && strncmp(cpt, "full_ascii", l) == 0) {
xorriso->relax_compliance|= isoburn_igopt_allow_full_ascii;
} else if(l == 17 && strncmp(cpt, "joliet_long_paths", l) == 0) {
xorriso->relax_compliance|= isoburn_igopt_joliet_longer_paths;
} else if(l == 10 && strncmp(cpt, "always_gmt", l) == 0) {
xorriso->relax_compliance|= isoburn_igopt_always_gmt;
} else if(l == 6 && strncmp(cpt, "old_rr", l) == 0) {
xorriso->relax_compliance|= isoburn_igopt_rrip_version_1_10;
} else if(l == 9 && strncmp(cpt, "rec_mtime", l) == 0) {
xorriso->relax_compliance|= isoburn_igopt_dir_rec_mtime;
} else if(l == 4 && strncmp(cpt, "help", l) == 0) {
/* >>> */;
} else if((l == 12 && strncmp(cpt, "omit_version", l) == 0) ||
(l == 15 && strncmp(cpt, "omit_version_on", l) == 0) ) {
xorriso->relax_compliance|= isoburn_igopt_omit_version_numbers;
} else if((l == 16 && strncmp(cpt, "omit_version_off", l) == 0)) {
xorriso->relax_compliance&= ~isoburn_igopt_omit_version_numbers;
} else if((l == 10 && strncmp(cpt, "deep_paths", l) == 0) ||
(l == 13 && strncmp(cpt, "deep_paths_on", l) == 0)) {
xorriso->relax_compliance|= isoburn_igopt_allow_deep_paths;
} else if(l == 14 && strncmp(cpt, "deep_paths_off", l) == 0) {
xorriso->relax_compliance&= ~isoburn_igopt_allow_deep_paths;
} else if((l == 10 && strncmp(cpt, "long_paths", l) == 0) ||
(l == 13 && strncmp(cpt, "long_paths_on", l) == 0) ) {
xorriso->relax_compliance|= isoburn_igopt_allow_longer_paths;
} else if(l == 14 && strncmp(cpt, "long_paths_off", l) == 0) {
xorriso->relax_compliance&= ~isoburn_igopt_allow_longer_paths;
} else if((l == 10 && strncmp(cpt, "long_names", l) == 0) ||
(l == 13 && strncmp(cpt, "long_names_on", l) == 0)) {
xorriso->relax_compliance|= isoburn_igopt_max_37_char_filenames;
} else if(l == 14 && strncmp(cpt, "long_names_off", l) == 0) {
xorriso->relax_compliance&= ~isoburn_igopt_max_37_char_filenames;
} else if((l == 13 && strncmp(cpt, "no_force_dots", l) == 0) ||
(l == 16 && strncmp(cpt, "no_force_dots_on", l) == 0)) {
xorriso->relax_compliance|= isoburn_igopt_no_force_dots;
} else if(l == 17 && strncmp(cpt, "no_force_dots_off", l) == 0) {
xorriso->relax_compliance&= ~isoburn_igopt_no_force_dots;
} else if((l == 9 && strncmp(cpt, "lowercase", l) == 0) ||
(l == 12 && strncmp(cpt, "lowercase_on", l) == 0)) {
xorriso->relax_compliance|= isoburn_igopt_allow_lowercase;
} else if(l == 13 && strncmp(cpt, "lowercase_off", l) == 0) {
xorriso->relax_compliance&= ~isoburn_igopt_allow_lowercase;
} else if((l == 10 && strncmp(cpt, "full_ascii", l) == 0) ||
(l == 13 && strncmp(cpt, "full_ascii_on", l) == 0)) {
xorriso->relax_compliance|= isoburn_igopt_allow_full_ascii;
} else if(l == 14 && strncmp(cpt, "full_ascii_off", l) == 0) {
xorriso->relax_compliance&= ~isoburn_igopt_allow_full_ascii;
} else if((l == 17 && strncmp(cpt, "joliet_long_paths", l) == 0) ||
(l == 20 && strncmp(cpt, "joliet_long_paths_on", l) == 0)) {
xorriso->relax_compliance|= isoburn_igopt_joliet_longer_paths;
} else if(l == 21 && strncmp(cpt, "joliet_long_paths_off", l) == 0) {
xorriso->relax_compliance&= ~isoburn_igopt_joliet_longer_paths;
} else if((l == 10 && strncmp(cpt, "always_gmt", l) == 0) ||
(l == 13 && strncmp(cpt, "always_gmt_on", l) == 0)) {
xorriso->relax_compliance|= isoburn_igopt_always_gmt;
} else if(l == 14 && strncmp(cpt, "always_gmt_off", l) == 0) {
xorriso->relax_compliance&= ~isoburn_igopt_always_gmt;
} else if((l == 6 && strncmp(cpt, "old_rr", l) == 0) ||
(l == 9 && strncmp(cpt, "old_rr_on", l) == 0)) {
xorriso->relax_compliance|= isoburn_igopt_rrip_version_1_10;
} else if(l == 10 && strncmp(cpt, "old_rr_off", l) == 0) {
xorriso->relax_compliance&= ~isoburn_igopt_rrip_version_1_10;
} else if((l == 9 && strncmp(cpt, "rec_mtime", l) == 0) ||
(l == 12 && strncmp(cpt, "rec_mtime_on", l) == 0)) {
xorriso->relax_compliance|= isoburn_igopt_dir_rec_mtime;
} else if(l == 13 && strncmp(cpt, "rec_mtime_off", l) == 0) {
xorriso->relax_compliance&= ~isoburn_igopt_dir_rec_mtime;
} else if((l == 8 && strncmp(cpt, "iso_9660", l) == 0) ||
(l == 11 && strncmp(cpt, "iso_9660_on", l) == 0)) {
/* may have a meaning in future */;
} else if(l == 12 && strncmp(cpt, "iso_9660_off", l) == 0) {
/* may have a meaning in future */;
Xorriso_msgs_submit(xorriso, 0,
"-compliance -iso_9660_off : Cannot do anything else but ISO 9660",
0, "FAILURE", 0);
} else {
if(l<SfileadrL)
sprintf(xorriso->info_text, "-relax_compliance: unknown mode '%s'",
sprintf(xorriso->info_text, "-relax_compliance: unknown rule '%s'",
cpt);
else
sprintf(xorriso->info_text,
"-relax_compliance: oversized mode parameter (%d)", l);
"-relax_compliance: oversized rule parameter (%d)", l);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
xorriso->relax_compliance= was;
return(0);