Kaydet (Commit) 693d7797 authored tarafından Caolán McNamara's avatar Caolán McNamara

use comphelper::resolveLink

üst 3f0cbdfd
...@@ -61,6 +61,7 @@ SHL1TARGET= $(UNOCOMPONENT1) ...@@ -61,6 +61,7 @@ SHL1TARGET= $(UNOCOMPONENT1)
SHL1STDLIBS= \ SHL1STDLIBS= \
$(CPPULIB) \ $(CPPULIB) \
$(CPPUHELPER) \ $(CPPUHELPER) \
$(COMPHELPERLIB) \
$(SALLIB) \ $(SALLIB) \
$(SALHELPERLIB) $(SALHELPERLIB)
......
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
#include "rtl/byteseq.hxx" #include "rtl/byteseq.hxx"
#include "rtl/ustrbuf.hxx" #include "rtl/ustrbuf.hxx"
#include "rtl/instance.hxx" #include "rtl/instance.hxx"
#include <comphelper/linkhelper.hxx>
#include "boost/scoped_array.hpp" #include "boost/scoped_array.hpp"
#include "com/sun/star/uno/Sequence.hxx" #include "com/sun/star/uno/Sequence.hxx"
#include <utility> #include <utility>
...@@ -59,6 +60,7 @@ ...@@ -59,6 +60,7 @@
#include "sunjre.hxx" #include "sunjre.hxx"
#include "vendorlist.hxx" #include "vendorlist.hxx"
#include "diagnostics.h" #include "diagnostics.h"
using namespace osl; using namespace osl;
using namespace std; using namespace std;
...@@ -820,32 +822,20 @@ bool getJREInfoByPath(const rtl::OUString& path, ...@@ -820,32 +822,20 @@ bool getJREInfoByPath(const rtl::OUString& path,
*/ */
OUString resolveDirPath(const OUString & path) OUString resolveDirPath(const OUString & path)
{ {
OUString ret; OUString sResolved = path;
OUString sResolved;
//getAbsoluteFileURL also resolves links if (!comphelper::resolveLink(sResolved))
if (File::getAbsoluteFileURL(
OUSTR("file:///"), path, sResolved) != File::E_None)
return OUString(); return OUString();
//check if this is a valid path and if it is a directory OUString ret;
//check if this is a directory
DirectoryItem item; DirectoryItem item;
if (DirectoryItem::get(sResolved, item) == File::E_None) if (DirectoryItem::get(sResolved, item) == File::E_None)
{ {
FileStatus status(osl_FileStatus_Mask_Type | FileStatus status(osl_FileStatus_Mask_Type |
osl_FileStatus_Mask_LinkTargetURL |
osl_FileStatus_Mask_FileURL); osl_FileStatus_Mask_FileURL);
int nDepth = 0;
while (item.getFileStatus(status) == File::E_None &&
status.getFileType() == FileStatus::Link)
{
if (++nDepth == 128)
break;
sResolved = status.getLinkTargetURL();
if (DirectoryItem::get(sResolved, item) != File::E_None)
break;
}
if (item.getFileStatus(status) == File::E_None if (item.getFileStatus(status) == File::E_None
&& status.getFileType() == FileStatus::Directory) && status.getFileType() == FileStatus::Directory)
{ {
...@@ -856,8 +846,7 @@ OUString resolveDirPath(const OUString & path) ...@@ -856,8 +846,7 @@ OUString resolveDirPath(const OUString & path)
#endif #endif
} }
} }
else
return OUString();
return ret; return ret;
} }
/** Checks if the path is a file. If it is a link to a file than /** Checks if the path is a file. If it is a link to a file than
...@@ -865,20 +854,20 @@ OUString resolveDirPath(const OUString & path) ...@@ -865,20 +854,20 @@ OUString resolveDirPath(const OUString & path)
*/ */
OUString resolveFilePath(const OUString & path) OUString resolveFilePath(const OUString & path)
{ {
OUString ret; OUString sResolved = path;
OUString sResolved;
if (File::getAbsoluteFileURL( if (!comphelper::resolveLink(sResolved))
OUSTR("file:///"), path, sResolved) != File::E_None)
return OUString(); return OUString();
OUString ret;
//check if this is a valid path to a file or and if it is a link //check if this is a valid path to a file or and if it is a link
DirectoryItem item; DirectoryItem item;
if (DirectoryItem::get(sResolved, item) == File::E_None) if (DirectoryItem::get(sResolved, item) == File::E_None)
{ {
FileStatus status(osl_FileStatus_Mask_Type | FileStatus status(osl_FileStatus_Mask_Type |
osl_FileStatus_Mask_LinkTargetURL |
osl_FileStatus_Mask_FileURL); osl_FileStatus_Mask_FileURL);
if (item.getFileStatus(status) == File::E_None if (item.getFileStatus(status) == File::E_None
&& status.getFileType() == FileStatus::Regular) && status.getFileType() == FileStatus::Regular)
{ {
...@@ -889,8 +878,6 @@ OUString resolveFilePath(const OUString & path) ...@@ -889,8 +878,6 @@ OUString resolveFilePath(const OUString & path)
#endif #endif
} }
} }
else
return OUString();
return ret; return ret;
} }
......
jvmf jvmfwk : cppu cppuhelper sal LIBXML2:libxml2 NULL jvmf jvmfwk : cppu cppuhelper sal comphelper LIBXML2:libxml2 NULL
jvmf jvmfwk\inc nmake - all jvmf_inc NULL jvmf jvmfwk\inc nmake - all jvmf_inc NULL
jvmf jvmfwk\source nmake - all jvmf_framework jvmf_inc NULL jvmf jvmfwk\source nmake - all jvmf_framework jvmf_inc NULL
jvmf jvmfwk\plugins\sunmajor\pluginlib nmake - all jvmf_sunmajorlib jvmf_inc NULL jvmf jvmfwk\plugins\sunmajor\pluginlib nmake - all jvmf_sunmajorlib jvmf_inc NULL
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment