diff options
-rw-r--r-- | jvmfwk/plugins/sunmajor/pluginlib/util.cxx | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx index 0df33f6160a4..0e0f58e4268a 100644 --- a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx +++ b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx @@ -791,15 +791,19 @@ bool getJREInfoByPath(const rtl::OUString& path, /** Checks if the path is a directory. Links are resolved. In case of an error the returned string has the length 0. Otherwise the returned string is the "resolved" file URL. - */ -OUString resolveDirPath(const OUString & dirUrl) +OUString resolveDirPath(const OUString & path) { - OUString ret; + OUString ret; + OUString sResolved; + //getAbsoluteFileURL also resolves links + if (File::getAbsoluteFileURL( + OUSTR("file:///"), path, sResolved) != File::E_None) + return OUString(); //check if this is a valid path and if it is a directory DirectoryItem item; - if (DirectoryItem::get(dirUrl, item) == File::E_None) + if (DirectoryItem::get(sResolved, item) == File::E_None) { FileStatus status(FileStatusMask_Type | FileStatusMask_LinkTargetURL | @@ -808,7 +812,7 @@ OUString resolveDirPath(const OUString & dirUrl) if (item.getFileStatus(status) == File::E_None && status.getFileType() == FileStatus::Directory) { - ret = dirUrl; + ret = sResolved; } } else @@ -824,7 +828,7 @@ OUString resolveFilePath(const OUString & path) OUString sResolved; if (File::getAbsoluteFileURL( - rtl::OUString(), path, sResolved) != File::E_None) + OUSTR("file:///"), path, sResolved) != File::E_None) return OUString(); //check if this is a valid path to a file or and if it is a link |