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; }