| author | Krzysztof Kazmierczyk | 2012-08-10 07:03:07 (EDT) |
|---|---|---|
| committer | Chris Recoskie | 2012-08-27 10:50:58 (EDT) |
| commit | 057ba1a8c84c64eea773b87487577d9025d9f98e (patch) (side-by-side diff) | |
| tree | de71215da5f472c10a293fc5e81a88261ce28fca | |
| parent | 76f87a6fe35a83772a928c53465ea797789622d9 (diff) | |
| download | org.eclipse.cdt-057ba1a8c84c64eea773b87487577d9025d9f98e.zip org.eclipse.cdt-057ba1a8c84c64eea773b87487577d9025d9f98e.tar.gz org.eclipse.cdt-057ba1a8c84c64eea773b87487577d9025d9f98e.tar.bz2 | |
Fix Bug 378882 - CDT projects not working when managed by custom EFS
filesystem
Change-Id: I6e0966b63c5be81cb35008edb3cd9218023aaf3e
Reviewed-on: https://git.eclipse.org/r/7184
Reviewed-by: Chris Recoskie <recoskie@ca.ibm.com>
IP-Clean: Chris Recoskie <recoskie@ca.ibm.com>
Tested-by: Chris Recoskie <recoskie@ca.ibm.com>
| -rw-r--r-- | core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/UNCPathConverter.java | 13 |
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 44e6bdd..91de121 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; + } } /** |

