From 8fb2b6a3c65f8e4b0ca4a976865e19379c9ccc3d Mon Sep 17 00:00:00 2001 From: Andrew Gvozdev Date: Wed, 5 Sep 2012 15:57:20 -0400 Subject: [PATCH] bug 388755: Added extra check for schema "file" while fixing path "/C:/path" on Windows in EFSExtensionProvider --- .../src/org/eclipse/cdt/core/EFSExtensionProvider.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/EFSExtensionProvider.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/EFSExtensionProvider.java index 3c70e1db98a..3889556adc3 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/EFSExtensionProvider.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/EFSExtensionProvider.java @@ -13,6 +13,7 @@ package org.eclipse.cdt.core; import java.net.URI; import java.net.URISyntaxException; +import org.eclipse.core.filesystem.EFS; import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.URIUtil; @@ -56,9 +57,12 @@ public abstract class EFSExtensionProvider { */ public String getPathFromURI(URI locationURI) { String path = locationURI.getPath(); - // URI path on Windows is represented as "/C:/path" - if (path != null && Platform.getOS().equals(Platform.WS_WIN32) && path.matches("/[A-Za-z]:.*")) { //$NON-NLS-1$ - path = path.substring(1); + String schema = locationURI.getScheme(); + if (schema != null && schema.equals(EFS.SCHEME_FILE) && Platform.getOS().equals(Platform.WS_WIN32)) { + // URI path on Windows is represented as "/C:/path" + if (path != null && path.matches("/[A-Za-z]:.*")) { //$NON-NLS-1$ + path = path.substring(1); + } } return path; }