aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>1998-11-12 11:43:19 +0000
committerTom Tromey <tromey@gcc.gnu.org>1998-11-12 11:43:19 +0000
commit733b3a87ca33556dec810133a1ccf57ead86b504 (patch)
treed52233da6156ebaa9797083f8e59e615bba76a63 /gcc
parentdfded5c3ba94beb16fc5ecc5baeb978972d7c7fb (diff)
downloadgcc-733b3a87ca33556dec810133a1ccf57ead86b504.zip
gcc-733b3a87ca33556dec810133a1ccf57ead86b504.tar.gz
gcc-733b3a87ca33556dec810133a1ccf57ead86b504.tar.bz2
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
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 8e331ee..e7e48b6 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 43e96cf..c1c5b7a 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 829f99a..159b09f 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);