* ar.c: Formatting.

(usage): Correct help strings.
	(decode_options): Correct getopt_long short options.  Remove
	duplicate non-handled option message.
	(main): Don't handle -M specially.
This commit is contained in:
Alan Modra 2010-12-08 05:05:30 +00:00
parent 90b79792c0
commit dbcf63876c
2 changed files with 31 additions and 29 deletions

View File

@ -1,3 +1,11 @@
2010-12-08 Alan Modra <amodra@gmail.com>
* ar.c: Formatting.
(usage): Correct help strings.
(decode_options): Correct getopt_long short options. Remove
duplicate non-handled option message.
(main): Don't handle -M specially.
2010-12-08 Arnaud Lacombe <lacombar@gmail.com> 2010-12-08 Arnaud Lacombe <lacombar@gmail.com>
* ar.c (long_options): Add target. * ar.c (long_options): Add target.

View File

@ -216,8 +216,8 @@ map_over_members (bfd *arch, void (*function)(bfd *), char **files, int count)
filename = normalize (filename, arch); filename = normalize (filename, arch);
} }
if ((filename != NULL) && if (filename != NULL
(!FILENAME_CMP (normalize (*files, arch), filename))) && !FILENAME_CMP (normalize (*files, arch), filename))
{ {
++match_count; ++match_count;
if (counted_name_mode if (counted_name_mode
@ -248,12 +248,17 @@ usage (int help)
s = help ? stdout : stderr; s = help ? stdout : stderr;
/* xgettext:c-format */
const char * command_line =
#if BFD_SUPPORTS_PLUGINS #if BFD_SUPPORTS_PLUGINS
_("Usage: %s [emulation options] [-]{dmpqrstx}[abcfilNoPsSuvV] [--plugin <name>] [member-name] [count] archive-file file...\n"); /* xgettext:c-format */
const char *command_line
= _("Usage: %s [emulation options] [-]{dmpqrstx}[abcDfilMNoPsSTuvV]"
" [--plugin <name>] [member-name] [count] archive-file file...\n");
#else #else
_("Usage: %s [emulation options] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] [count] archive-file file...\n"); /* xgettext:c-format */
const char *command_line
= _("Usage: %s [emulation options] [-]{dmpqrstx}[abcDfilMNoPsSTuvV]"
" [member-name] [count] archive-file file...\n");
#endif #endif
fprintf (s, command_line, program_name); fprintf (s, command_line, program_name);
@ -301,7 +306,7 @@ usage (int help)
} }
static void static void
ranlib_usage(int help) ranlib_usage (int help)
{ {
FILE *s; FILE *s;
@ -378,7 +383,7 @@ remove_output (void)
} }
static char ** static char **
decode_options(int argc, char **argv) decode_options (int argc, char **argv)
{ {
int c; int c;
@ -427,7 +432,7 @@ decode_options(int argc, char **argv)
argv = new_argv; argv = new_argv;
} }
while ((c = getopt_long (argc, argv, "hdmpqrstxabcfilNoPsSuvV", while ((c = getopt_long (argc, argv, "hdmpqrtxlcoVsSuvabiMNfPTD",
long_options, NULL)) != EOF) long_options, NULL)) != EOF)
{ {
switch (c) switch (c)
@ -539,8 +544,6 @@ decode_options(int argc, char **argv)
case 0: /* A long option that just sets a flag. */ case 0: /* A long option that just sets a flag. */
break; break;
default: default:
/* xgettext:c-format */
non_fatal (_("illegal option -- '%d'"), c);
usage (0); usage (0);
} }
} }
@ -549,7 +552,7 @@ decode_options(int argc, char **argv)
} }
static void static void
ranlib_main(int argc, char **argv) ranlib_main (int argc, char **argv)
{ {
int arg_index, status = 0; int arg_index, status = 0;
bfd_boolean touch = FALSE; bfd_boolean touch = FALSE;
@ -577,7 +580,7 @@ ranlib_main(int argc, char **argv)
ranlib_usage (0); ranlib_usage (0);
if (show_help) if (show_help)
usage(1); usage (1);
if (show_version) if (show_version)
print_version ("ranlib"); print_version ("ranlib");
@ -596,9 +599,6 @@ ranlib_main(int argc, char **argv)
xexit (status); xexit (status);
} }
/* The option parsing should be in its own function.
It will be when I have getopt working. */
int main (int, char **); int main (int, char **);
int int
@ -652,21 +652,15 @@ main (int argc, char **argv)
argc -= (i - 1); argc -= (i - 1);
if (is_ranlib) if (is_ranlib)
ranlib_main(argc, argv); ranlib_main (argc, argv);
if (argc == 2 && strcmp (argv[1], "-M") == 0)
{
mri_emul ();
xexit (0);
}
if (argc < 2) if (argc < 2)
usage (0); usage (0);
argv = decode_options(argc, argv); argv = decode_options (argc, argv);
if (show_help) if (show_help)
usage(1); usage (1);
if (show_version) if (show_version)
print_version ("ar"); print_version ("ar");
@ -709,7 +703,7 @@ main (int argc, char **argv)
if (counted_name_mode) if (counted_name_mode)
{ {
if (operation != extract && operation != del) if (operation != extract && operation != del)
fatal (_("`N' is only meaningful with the `x' and `d' options.")); fatal (_("`N' is only meaningful with the `x' and `d' options."));
counted_name_counter = atoi (argv[arg_index++]); counted_name_counter = atoi (argv[arg_index++]);
if (counted_name_counter <= 0) if (counted_name_counter <= 0)
fatal (_("Value for `N' must be positive.")); fatal (_("Value for `N' must be positive."));
@ -718,7 +712,7 @@ main (int argc, char **argv)
inarch_filename = argv[arg_index++]; inarch_filename = argv[arg_index++];
for (file_count = 0; argv[arg_index + file_count] != NULL; file_count++) for (file_count = 0; argv[arg_index + file_count] != NULL; file_count++)
continue; continue;
files = (file_count > 0) ? argv + arg_index : NULL; files = (file_count > 0) ? argv + arg_index : NULL;
@ -800,8 +794,8 @@ open_inarch (const char *archive_filename, const char *file)
stat() works just fine in v2.x, so I think this should be stat() works just fine in v2.x, so I think this should be
removed. For now, I enable it for DJGPP v2. -- EZ. */ removed. For now, I enable it for DJGPP v2. -- EZ. */
/* KLUDGE ALERT! Temporary fix until I figger why /* KLUDGE ALERT! Temporary fix until I figger why
stat() is wrong ... think it's buried in GO32's IDT - Jax */ stat() is wrong ... think it's buried in GO32's IDT - Jax */
if (errno != ENOENT) if (errno != ENOENT)
bfd_fatal (archive_filename); bfd_fatal (archive_filename);
#endif #endif