aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/jcf-path.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>1998-10-22 16:30:34 +0000
committerTom Tromey <tromey@gcc.gnu.org>1998-10-22 16:30:34 +0000
commit71f6a8e2e69c2e8625a18afa9318638e87a6197d (patch)
treec41434d35bb694b5425a55169cd7fc73f7d24062 /gcc/java/jcf-path.c
parentb18cfc286169fd26073ec1655f6a72d10fd6552d (diff)
downloadgcc-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.c13
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;