From 786867b4be0f4c747afb9b8c25b7fac7a166e5f3 Mon Sep 17 00:00:00 2001 From: Mikhail Sennikovsky Date: Fri, 15 Jun 2007 16:26:55 +0000 Subject: [PATCH] relative path calculation fixes on Linix --- .../managedbuilder/core/tests/ManagedBuildCoreTests20.java | 2 +- .../cdt/managedbuilder/internal/dataprovider/PathInfo.java | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/build/org.eclipse.cdt.managedbuilder.core.tests/tests/org/eclipse/cdt/managedbuilder/core/tests/ManagedBuildCoreTests20.java b/build/org.eclipse.cdt.managedbuilder.core.tests/tests/org/eclipse/cdt/managedbuilder/core/tests/ManagedBuildCoreTests20.java index b5acdb4e3a1..ea66c0f2fc3 100644 --- a/build/org.eclipse.cdt.managedbuilder.core.tests/tests/org/eclipse/cdt/managedbuilder/core/tests/ManagedBuildCoreTests20.java +++ b/build/org.eclipse.cdt.managedbuilder.core.tests/tests/org/eclipse/cdt/managedbuilder/core/tests/ManagedBuildCoreTests20.java @@ -237,7 +237,7 @@ public class ManagedBuildCoreTests20 extends TestCase { // This first path is a built-in, so it will not be manipulated by build manager expectedPaths[0] = (new Path("/usr/include")).toOSString(); expectedPaths[1] = (new Path("/opt/gnome/include")).toOSString(); - IPath path = new Path("C:/home/tester/include"); + IPath path = new Path("C:\\home\\tester/include"); if(path.isAbsolute()) // for win32 path is treated as absolute expectedPaths[2] = path.toOSString(); else // for Linux path is relative diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/dataprovider/PathInfo.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/dataprovider/PathInfo.java index 86072a60096..c3fa1395681 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/dataprovider/PathInfo.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/dataprovider/PathInfo.java @@ -10,6 +10,8 @@ *******************************************************************************/ package org.eclipse.cdt.managedbuilder.internal.dataprovider; +import java.io.File; + import org.eclipse.cdt.core.cdtvariables.CdtVariableException; import org.eclipse.cdt.managedbuilder.core.ManagedBuilderCorePlugin; import org.eclipse.cdt.utils.cdtvariables.SupplierBasedCdtVariableSubstitutor; @@ -22,6 +24,9 @@ class PathInfo { private String fAbsoluteInfoStr; private Boolean fIsAbsolute; private SupplierBasedCdtVariableSubstitutor fSubstitutor; + + private static final boolean IS_WINDOWS = File.separatorChar == '\\'; + public PathInfo(String str, boolean isWspPath, SupplierBasedCdtVariableSubstitutor subst){ fUnresolvedStr = str; @@ -74,7 +79,7 @@ class PathInfo { return false; char c1 = str.charAt(1); - if(c1 == ':') + if(IS_WINDOWS && c1 == ':') return true; if(length < 4)