From 02f7f5bc1e0feef4f516ecc8fbbb7084f61b150e Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Wed, 16 Jul 2003 10:43:15 +0000 Subject: [PATCH] Make toURI and fromURI work correctly on Netware. Submitted by: Jeff Tulley git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@274827 13f79535-47bb-0310-9956-ffa450edef68 --- src/main/org/apache/tools/ant/launch/Locator.java | 2 +- src/main/org/apache/tools/ant/util/FileUtils.java | 2 +- src/testcases/org/apache/tools/ant/util/FileUtilsTest.java | 6 ++++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/org/apache/tools/ant/launch/Locator.java b/src/main/org/apache/tools/ant/launch/Locator.java index c03ddc3bb..d3c5f9ab1 100644 --- a/src/main/org/apache/tools/ant/launch/Locator.java +++ b/src/main/org/apache/tools/ant/launch/Locator.java @@ -134,7 +134,7 @@ public class Locator { uri = uri.replace('/', File.separatorChar); if (File.pathSeparatorChar == ';' && uri.startsWith("\\") && uri.length() > 2 - && Character.isLetter(uri.charAt(1)) && uri.charAt(2) == ':') { + && Character.isLetter(uri.charAt(1)) && uri.lastIndexOf(':') > -1) { uri = uri.substring(1); } diff --git a/src/main/org/apache/tools/ant/util/FileUtils.java b/src/main/org/apache/tools/ant/util/FileUtils.java index 5d88c6f02..bdc6d9235 100644 --- a/src/main/org/apache/tools/ant/util/FileUtils.java +++ b/src/main/org/apache/tools/ant/util/FileUtils.java @@ -1219,7 +1219,7 @@ public class FileUtils { path = normalize(path).getAbsolutePath(); sb.append("//"); // add an extra slash for filesystems with drive-specifiers - if (!path.startsWith("/")) { + if (!path.startsWith(File.separator)) { sb.append("/"); } diff --git a/src/testcases/org/apache/tools/ant/util/FileUtilsTest.java b/src/testcases/org/apache/tools/ant/util/FileUtilsTest.java index 6b0b6cf7e..763e5fb26 100644 --- a/src/testcases/org/apache/tools/ant/util/FileUtilsTest.java +++ b/src/testcases/org/apache/tools/ant/util/FileUtilsTest.java @@ -438,6 +438,9 @@ public class FileUtilsTest extends TestCase { if (Os.isFamily("dos")) { assertEquals("file:///C:/foo", fu.toURI("c:\\foo")); } + if (Os.isFamily("netware")) { + assertEquals("file:///SYS:/foo", fu.toURI("sys:\\foo")); + } assertEquals("file:///" + dosRoot + "foo", fu.toURI("/foo")); assertEquals("file:./foo", fu.toURI("./foo")); assertEquals("file:///" + dosRoot + "foo", fu.toURI("\\foo")); @@ -452,6 +455,9 @@ public class FileUtilsTest extends TestCase { * test fromUri */ public void testFromURI() { + if (Os.isFamily("netware")) { + assertEqualsIgnoreDriveCase("SYS:\\foo", fu.fromURI("file:///sys:/foo")); + } if (Os.isFamily("dos")) { assertEqualsIgnoreDriveCase("C:\\foo", fu.fromURI("file:///c:/foo")); }