2007-02-24 Koji Arai <arai@users.sourceforge.jp>
+ * src/header.c (get_header): the variable "noconvertcase" changed
+ to "convertcase".
+ it means that this LHa does not convert filename case automatically.
+
+ * src/lha.h: ditto.
+
+ * src/lharc.c (init_variable): ditto.
+
+ * src/lharc.c (print_tiny_usage, parse_suboption): added a long
+ option "--convert-filename-case" that change to the old behavior.
+
+ * src/lharc.c (print_usage, parse_suboption): the "g" option has
+ no meaning when extracting.
+
+ * src/header.c (write_header): no upcase filename when the generic
+ archive creating.
+
+2007-02-24 Koji Arai <arai@users.sourceforge.jp>
+
* configure.ac: updated version.
* src/lharc.c (print_usage): updated.
/* filename conversion */
switch (hdr->extend_type) {
case EXTEND_MSDOS:
- filename_case = noconvertcase ? NONE : TO_LOWER;
+ filename_case = convertcase ? TO_LOWER : NONE;
break;
case EXTEND_HUMAN:
case EXTEND_OS68K:
break;
default:
- filename_case = noconvertcase ? NONE : TO_LOWER;
+ filename_case = convertcase ? TO_LOWER : NONE;
break;
}
if (optional_system_kanji_code)
system_kanji_code = optional_system_kanji_code;
- if (generic_format)
+ if (generic_format && convertcase)
filename_case = TO_UPPER;
if (hdr->header_level == 0) {
exclude_files = NULL;
verify_mode = FALSE;
- noconvertcase = FALSE;
+ convertcase = FALSE;
extract_directory = NULL;
temporary_fd = -1;
long options: --system-kanji-code={euc,sjis,utf8,cap}\n\
--archive-kanji-code={euc,sjis,utf8,cap}\n\
--extract-broken-archive\n\
+ --convert-filename-case\n\
--help\n\
--version\n");
#else
long options: --system-kanji-code={euc,sjis,utf8,cap}\n\
--archive-kanji-code={euc,sjis,utf8,cap}\n\
--extract-broken-archive\n\
+ --convert-filename-case\n\
--help\n\
--version\n");
#endif
p Print to STDOUT from archive i ignore directory path (x/e)\n\
t Test file CRC in archive z files not compress (a/u/c)\n\
g Generic format (for compatibility)\n\
- or not convert case when extracting\n\
0/1/2 header level (a/u/c)\n\
");
#ifdef EUC
{"system-kanji-code", required_argument, 0, SYSTEM_KANJI_CODE_OPTION},
{"archive-kanji-code", required_argument, 0, ARCHIVE_KANJI_CODE_OPTION},
{"extract-broken-archive", no_argument, &extract_broken_archive, 1},
+ {"convert-filename-case", no_argument, &convertcase, TRUE},
{0, 0, 0, 0}
};
int i;
break;
case 'g':
generic_format = TRUE;
- noconvertcase = TRUE;
header_level = 0;
break;
case 'd':