Index: Path.java
===================================================================
RCS file: /home/cvspublic/jakarta-ant/src/main/org/apache/tools/ant/types/Path.java,v
retrieving revision 1.9
diff -u -r1.9 Path.java
--- Path.java	2000/09/07 09:50:59	1.9
+++ Path.java	2000/10/24 15:32:48
@@ -60,6 +60,7 @@
 import org.apache.tools.ant.PathTokenizer;
 
 import java.io.File;
+import java.io.IOException;
 import java.util.Enumeration;
 import java.util.StringTokenizer;
 import java.util.Stack;
@@ -111,7 +112,12 @@
         private String[] parts;
 
         public void setLocation(File loc) {
-            parts = new String[] {translateFile(loc.getAbsolutePath())};
+            try {
+                parts = new String[] {translateFile(loc.getCanonicalPath())};
+            } catch(IOException e) {
+                // XXX I'd like to log something here but I don't know how.
+                parts = new String[] {translateFile(loc.getAbsolutePath())};
+            }
         }
 
         public void setPath(String path) {
@@ -294,9 +300,15 @@
                 String[] s = ds.getIncludedFiles();
                 File dir = fs.getDir(project);
                 for (int j=0; j<s.length; j++) {
-                    addUnlessPresent(result, 
-                                     translateFile((new File(dir, s[j])).getAbsolutePath()));
-                }
+                    String canonicalPath;
+                    File f = new File(dir, s[j]);
+                    try {
+                        canonicalPath = f.getCanonicalPath();
+                    } catch(IOException e) {
+                        canonicalPath = f.getAbsolutePath();
+                    }
+                    addUnlessPresent(result, translateFile(canonicalPath));
+                } 
             }
         }
         String[] res = new String[result.size()];
@@ -430,7 +442,10 @@
      */
     private static String resolveFile(Project project, String relativeName) {
         if (project != null) {
-            return project.resolveFile(relativeName).getAbsolutePath();
+            try {
+                return project.resolveFile(relativeName).getCanonicalPath();
+            } catch(IOException e) {
+            }
         }
         return relativeName;
     }
