Commit 733b3a87 by Tom Tromey Committed by Tom Tromey

jcf-io.c (find_class): Added explanatory comment.

	* jcf-io.c (find_class): Added explanatory comment.
	* jcf-path.c (add_entry): Look for `.zip' at end of filename.  Add
	trailing slash to `.zip' entries.

From-SVN: r23615
parent dfded5c3
1998-11-12 Tom Tromey <tromey@cygnus.com> 1998-11-12 Tom Tromey <tromey@cygnus.com>
* jcf-io.c (find_class): Added explanatory comment.
* jcf-path.c (add_entry): Look for `.zip' at end of filename. Add
trailing slash to `.zip' entries.
* jvspec.c (lang_specific_driver): Correctly handle case where * jvspec.c (lang_specific_driver): Correctly handle case where
GC_NAME not defined. GC_NAME not defined.
......
...@@ -282,6 +282,8 @@ DEFUN(find_class, (classname, classname_length, jcf, do_class_file), ...@@ -282,6 +282,8 @@ DEFUN(find_class, (classname, classname_length, jcf, do_class_file),
strcpy (buffer, jcf_path_name (entry)); strcpy (buffer, jcf_path_name (entry));
i = strlen (buffer); i = strlen (buffer);
/* This is right because we know that `.zip' entries will have a
trailing slash. See jcf-path.c. */
dir_len = i - 1; dir_len = i - 1;
for (k = 0; k < classname_length; k++, i++) for (k = 0; k < classname_length; k++, i++)
......
...@@ -141,7 +141,7 @@ add_entry (entp, filename, is_system) ...@@ -141,7 +141,7 @@ add_entry (entp, filename, is_system)
n->next = NULL; n->next = NULL;
len = strlen (filename); len = strlen (filename);
if (len > 4 && ! strcmp (filename - 4, ".zip")) if (len > 4 && ! strcmp (filename + len - 4, ".zip"))
{ {
n->flags |= FLAG_ZIP; n->flags |= FLAG_ZIP;
/* If the user uses -classpath then he'll have to include /* If the user uses -classpath then he'll have to include
...@@ -152,9 +152,10 @@ add_entry (entp, filename, is_system) ...@@ -152,9 +152,10 @@ add_entry (entp, filename, is_system)
n->flags |= FLAG_SYSTEM; n->flags |= FLAG_SYSTEM;
} }
if (! (n->flags & FLAG_ZIP) /* Note that we add a trailing separator to `.zip' names as well.
&& filename[len - 1] != '/' This is a little hack that lets the searching code in jcf-io.c
&& filename[len - 1] != DIR_SEPARATOR) work more easily. Eww. */
if (filename[len - 1] != '/' && filename[len - 1] != DIR_SEPARATOR)
{ {
char *f2 = (char *) alloca (len + 1); char *f2 = (char *) alloca (len + 1);
strcpy (f2, filename); strcpy (f2, filename);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment