diff options
author | Tom Tromey <tromey@cygnus.com> | 1998-11-12 11:43:19 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 1998-11-12 11:43:19 +0000 |
commit | 733b3a87ca33556dec810133a1ccf57ead86b504 (patch) | |
tree | d52233da6156ebaa9797083f8e59e615bba76a63 /gcc | |
parent | dfded5c3ba94beb16fc5ecc5baeb978972d7c7fb (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/java/jcf-io.c | 2 | ||||
-rw-r--r-- | gcc/java/jcf-path.c | 9 |
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); |