summaryrefslogtreecommitdiffstats
path: root/gcc/java/jcf-dump.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java/jcf-dump.c')
-rw-r--r--gcc/java/jcf-dump.c52
1 files changed, 21 insertions, 31 deletions
diff --git a/gcc/java/jcf-dump.c b/gcc/java/jcf-dump.c
index 25243228bff..7ccb97cc6d9 100644
--- a/gcc/java/jcf-dump.c
+++ b/gcc/java/jcf-dump.c
@@ -712,44 +712,37 @@ DEFUN(main, (argc, argv),
if (argc <= 1)
usage ();
+ jcf_path_init ();
+
for (argi = 1; argi < argc; argi++)
{
char *arg = argv[argi];
+
+ /* Just let all arguments be given in either "-" or "--" form. */
+ if (arg[0] != '-' || ! strcmp (arg, "--"))
+ break;
+
if (arg[0] == '-')
{
if (strcmp (arg, "-o") == 0 && argi + 1 < argc)
output_file = argv[++argi];
- else if (arg[1] == '-')
- {
- arg++;
- if (strcmp (arg, "-classpath") == 0 && argi + 1 < argc)
- classpath = argv[++argi];
- else if (strcmp (arg, "-verbose") == 0)
- verbose++;
- else if (strcmp (arg, "-print-main") == 0)
- flag_print_main++;
- else if (strcmp (arg, "-javap") == 0)
- {
- flag_javap_compatible++;
- flag_print_constant_pool = 0;
- }
- else if (arg[2] == '\0')
- break;
- else
- {
- fprintf (stderr, "%s: illegal argument\n", argv[argi]);
- exit (FATAL_EXIT_CODE);
- }
-
- }
else if (strcmp (arg, "-classpath") == 0 && argi + 1 < argc)
- classpath = argv[++argi];
+ jcf_path_classpath_arg (argv[++argi]);
+ else if (strcmp (arg, "-CLASSPATH") == 0 && argi + 1 < argc)
+ jcf_path_CLASSPATH_arg (argv[++argi]);
+ else if (strncmp (arg, "-I", 2) == 0)
+ jcf_path_include_arg (arg + 2);
else if (strcmp (arg, "-verbose") == 0)
verbose++;
else if (strcmp (arg, "-print-main") == 0)
flag_print_main++;
else if (strcmp (arg, "-c") == 0)
flag_disassemble_methods++;
+ else if (strcmp (arg, "-javap") == 0)
+ {
+ flag_javap_compatible++;
+ flag_print_constant_pool = 0;
+ }
else
{
fprintf (stderr, "%s: illegal argument\n", argv[argi]);
@@ -759,8 +752,12 @@ DEFUN(main, (argc, argv),
else
break;
}
+
if (argi == argc)
usage ();
+
+ jcf_path_seal ();
+
if (flag_print_main)
{
flag_print_fields = 0;
@@ -770,13 +767,6 @@ DEFUN(main, (argc, argv),
flag_print_class_info = 0;
}
- if (classpath == NULL)
- {
- classpath = (char *) getenv ("CLASSPATH");
- if (classpath == NULL)
- classpath = "";
- }
-
if (output_file)
{
out = fopen (output_file, "w");
OpenPOWER on IntegriCloud