--- cdrtools-2.01/mkisofs/mkisofs.c 2004-01-06 15:23:46.000000000 -0800 +++ cdrtools-2.01a25-ross/mkisofs/mkisofs.c 2004-02-19 16:57:29.242795200 -0800 @@ -62,7 +62,7 @@ struct directory *root = NULL; int path_ind; -char version_string[] = "mkisofs 2.01.01a05"; +char version_string[] = "mkisofs 2.01.01a05-dvdpatch"; char *outfile; FILE *discimage; @@ -163,6 +163,8 @@ int full_iso9660_filenames = 0; /* Full 31 character iso9660 filenames */ int relaxed_filenames = 0; /* For Amiga. Disc will not work with DOS */ int allow_lowercase = 0; /* Allow lower case letters */ +int force_uppercase = 0; /* Force upper case letters */ +int no_iso9960_v2_warnings = 0; /* Turn off ISO9660 V2 warnings */ int allow_multidot = 0; /* Allow more than on dot in filename */ int iso_translate = 1; /* 1 == enables '#', '-' and '~' removal */ int allow_leading_dots = 0; /* DOS cannot read names with leading dots */ @@ -330,6 +332,8 @@ #define OPTION_ISO_LEVEL 1042 #define OPTION_RELAXED_FILENAMES 1043 #define OPTION_ALLOW_LOWERCASE 1044 +#define OPTION_FORCE_UPPERCASE 1098 +#define OPTION_NO_ISO9660_V2_WARNINGS 1099 #define OPTION_ALLOW_MULTIDOT 1045 #define OPTION_USE_FILEVERSION 1046 #define OPTION_MAX_FILENAMES 1047 @@ -607,6 +611,10 @@ '\0', NULL, "Do not translate illegal ISO characters '~', '-' and '#' (violates ISO9660)", ONE_DASH}, {{"allow-lowercase", no_argument, NULL, OPTION_ALLOW_LOWERCASE}, '\0', NULL, "Allow lower case characters in addition to the current character set (violates ISO9660)", ONE_DASH}, + {{"force-uppercase", no_argument, NULL, OPTION_FORCE_UPPERCASE}, + '\0', NULL, "Do not allow lower case characters (undoes -allow-lowercase)", ONE_DASH}, + {{"no-iso9660-v2-warnings", no_argument, NULL, OPTION_NO_ISO9660_V2_WARNINGS}, + '\0', NULL, "Do not display warnings about iso9660 v2", ONE_DASH}, {{"allow-multidot", no_argument, NULL, OPTION_ALLOW_MULTIDOT}, '\0', NULL, "Allow more than one dot in filenames (e.g. .tar.gz) (violates ISO9660)", ONE_DASH}, {{"use-fileversion", no_argument, NULL, OPTION_USE_FILEVERSION}, @@ -1799,6 +1807,12 @@ allow_lowercase++; warn_violate++; break; + case OPTION_FORCE_UPPERCASE: + force_uppercase++; + break; + case OPTION_NO_ISO9660_V2_WARNINGS: + no_iso9960_v2_warnings++; + break; case OPTION_ALLOW_MULTIDOT: allow_multidot++; warn_violate++; @@ -2179,6 +2193,11 @@ default: susage(1); } + + if (force_uppercase) { + allow_lowercase = 0; + } + /* * "--" was found, the next argument is a pathspec */ @@ -2205,8 +2224,12 @@ if (warn_violate) error("Warning: creating filesystem that does not conform to ISO-9660.\n"); if (iso9660_level > 3) + if (no_iso9960_v2_warnings) + error("Creating ISO-9660:1999 (version 2) filesystem.\n"); + else error("Warning: Creating ISO-9660:1999 (version 2) filesystem.\n"); if (iso9660_namelen > LEN_ISONAME) + if (no_iso9960_v2_warnings) error("Warning: ISO-9660 filenames longer than %d may cause buffer overflows in the OS.\n", LEN_ISONAME); if (use_Joliet && !use_RockRidge) {