diff options
author | Tom Tromey <tromey@cygnus.com> | 1998-10-22 16:30:34 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 1998-10-22 16:30:34 +0000 |
commit | 71f6a8e2e69c2e8625a18afa9318638e87a6197d (patch) | |
tree | c41434d35bb694b5425a55169cd7fc73f7d24062 /gcc/java/jcf-path.c | |
parent | b18cfc286169fd26073ec1655f6a72d10fd6552d (diff) | |
download | gcc-71f6a8e2e69c2e8625a18afa9318638e87a6197d.zip gcc-71f6a8e2e69c2e8625a18afa9318638e87a6197d.tar.gz gcc-71f6a8e2e69c2e8625a18afa9318638e87a6197d.tar.bz2 |
jcf-path.c (add_entry): Don't add trailing separator if entry is a .zip file.
* jcf-path.c (add_entry): Don't add trailing separator if entry is
a .zip file.
(add_path): Don't add trailing separator to non-empty path
elements.
* lang.c (lang_decode_option): Check for -fclasspath and
-fCLASSPATH before examining other `-f' options.
From-SVN: r23229
Diffstat (limited to 'gcc/java/jcf-path.c')
-rw-r--r-- | gcc/java/jcf-path.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/gcc/java/jcf-path.c b/gcc/java/jcf-path.c index 6e88496..829f99a 100644 --- a/gcc/java/jcf-path.c +++ b/gcc/java/jcf-path.c @@ -152,7 +152,9 @@ add_entry (entp, filename, is_system) n->flags |= FLAG_SYSTEM; } - if (filename[len - 1] != '/' && filename[len - 1] != DIR_SEPARATOR) + if (! (n->flags & FLAG_ZIP) + && filename[len - 1] != '/' + && filename[len - 1] != DIR_SEPARATOR) { char *f2 = (char *) alloca (len + 1); strcpy (f2, filename); @@ -186,20 +188,17 @@ add_path (entp, cp, is_system) { if (! *endp || *endp == PATH_SEPARATOR) { - strncpy (buf, startp, endp - startp); if (endp == startp) { buf[0] = '.'; buf[1] = DIR_SEPARATOR; buf[2] = '\0'; } - else if (endp[-1] != '/' && endp[1] != DIR_SEPARATOR) + else { - buf[endp - startp] = DIR_SEPARATOR; - buf[endp - startp + 1] = '\0'; + strncpy (buf, startp, endp - startp); + buf[endp - startp] = '\0'; } - else - buf[endp - startp] = '\0'; add_entry (entp, buf, is_system); if (! *endp) break; |