Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/UNCPathConverter.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/UNCPathConverter.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/UNCPathConverter.java
index 44e6bdd1c31..91de1214d5e 100644
--- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/UNCPathConverter.java
+++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/UNCPathConverter.java
@@ -58,18 +58,23 @@ public abstract class UNCPathConverter {
/**
- * Convert a URI to an IPath. If URI has a host section, return a UNC rather than a file based path.
+ * Convert a URI to an IPath.
+ * Resolves to local path if possible, including using EFS where required.
*
* @param uri
* URI to convert to an IPath
* @return IPath representation of the URI
*/
public static IPath toPath(URI uri) {
+ IPath localPath = URIUtil.toPath(uri);
String host = uri.getHost();
- if (host != null) {
+ // try local path first
+ // that'll give EFS a chance to resolve a custom protocol path.
+ if (host != null && localPath == null) {
return new Path(host + uri.getPath()).makeUNC(true);
- }
- return URIUtil.toPath(uri);
+ } else {
+ return localPath;
+ }
}
/**

Back to the top