summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>1998-11-12 11:43:19 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>1998-11-12 11:43:19 +0000
commite97418967c52d92c05f137516e58a9c010d98c83 (patch)
treed52233da6156ebaa9797083f8e59e615bba76a63 /gcc
parentc37492b0014292e0bff20003af24425eff1e584c (diff)
downloadppe42-gcc-e97418967c52d92c05f137516e58a9c010d98c83.tar.gz
ppe42-gcc-e97418967c52d92c05f137516e58a9c010d98c83.zip
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23615 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/jcf-io.c2
-rw-r--r--gcc/java/jcf-path.c9
3 files changed, 12 insertions, 4 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 8e331ee630a..e7e48b6db78 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,5 +1,10 @@
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
GC_NAME not defined.
diff --git a/gcc/java/jcf-io.c b/gcc/java/jcf-io.c
index 43e96cf94c0..c1c5b7aa783 100644
--- a/gcc/java/jcf-io.c
+++ b/gcc/java/jcf-io.c
@@ -282,6 +282,8 @@ DEFUN(find_class, (classname, classname_length, jcf, do_class_file),
strcpy (buffer, jcf_path_name (entry));
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;
for (k = 0; k < classname_length; k++, i++)
diff --git a/gcc/java/jcf-path.c b/gcc/java/jcf-path.c
index 829f99a1947..159b09f9f71 100644
--- a/gcc/java/jcf-path.c
+++ b/gcc/java/jcf-path.c
@@ -141,7 +141,7 @@ add_entry (entp, filename, is_system)
n->next = NULL;
len = strlen (filename);
- if (len > 4 && ! strcmp (filename - 4, ".zip"))
+ if (len > 4 && ! strcmp (filename + len - 4, ".zip"))
{
n->flags |= FLAG_ZIP;
/* If the user uses -classpath then he'll have to include
@@ -152,9 +152,10 @@ add_entry (entp, filename, is_system)
n->flags |= FLAG_SYSTEM;
}
- if (! (n->flags & FLAG_ZIP)
- && filename[len - 1] != '/'
- && filename[len - 1] != DIR_SEPARATOR)
+ /* Note that we add a trailing separator to `.zip' names as well.
+ This is a little hack that lets the searching code in jcf-io.c
+ work more easily. Eww. */
+ if (filename[len - 1] != '/' && filename[len - 1] != DIR_SEPARATOR)
{
char *f2 = (char *) alloca (len + 1);
strcpy (f2, filename);
OpenPOWER on IntegriCloud