summaryrefslogtreecommitdiff
path: root/svl
diff options
context:
space:
mode:
authorNorbert Thiebaud <nthiebaud@gmail.com>2012-11-27 02:35:09 -0600
committerNorbert Thiebaud <nthiebaud@gmail.com>2012-11-27 23:00:05 -0600
commitc33019b36d613f951787ce9836e34d74bfbd6a1b (patch)
tree02487f1fda25b81ae43c50c69f2c12c4583aa23e /svl
parent6922a0b190e3877cfae1ca08bfe86e0a010e9d86 (diff)
String->OUString in svl urifilter and restrictedpaths
Change-Id: If11b8752c3aa21554c3ee06de07d63639695e284
Diffstat (limited to 'svl')
-rw-r--r--svl/inc/svl/adrparse.hxx15
-rw-r--r--svl/inc/svl/restrictedpaths.hxx9
-rw-r--r--svl/inc/svl/urlfilter.hxx9
-rw-r--r--svl/source/misc/adrparse.cxx618
-rw-r--r--svl/source/misc/restrictedpaths.cxx50
5 files changed, 342 insertions, 359 deletions
diff --git a/svl/inc/svl/adrparse.hxx b/svl/inc/svl/adrparse.hxx
index f788b03300fb..063ba11a95a9 100644
--- a/svl/inc/svl/adrparse.hxx
+++ b/svl/inc/svl/adrparse.hxx
@@ -21,21 +21,20 @@
#define _ADRPARSE_HXX
#include "svl/svldllapi.h"
-#include <tools/string.hxx>
#include <vector>
//============================================================================
struct SvAddressEntry_Impl
{
- rtl::OUString m_aAddrSpec;
- rtl::OUString m_aRealName;
+ OUString m_aAddrSpec;
+ OUString m_aRealName;
SvAddressEntry_Impl()
{
}
- SvAddressEntry_Impl(const rtl::OUString& rTheAddrSpec,
- const rtl::OUString& rTheRealName)
+ SvAddressEntry_Impl(const OUString& rTheAddrSpec,
+ const OUString& rTheRealName)
: m_aAddrSpec(rTheAddrSpec)
, m_aRealName(rTheRealName)
{
@@ -55,19 +54,19 @@ class SVL_DLLPUBLIC SvAddressParser
bool m_bHasFirst;
public:
- SvAddressParser(const rtl::OUString& rInput);
+ SvAddressParser(const OUString& rInput);
~SvAddressParser();
sal_Int32 Count() const { return m_bHasFirst ? m_aRest.size() + 1 : 0; }
- const rtl::OUString& GetEmailAddress(sal_Int32 nIndex) const
+ const OUString& GetEmailAddress(sal_Int32 nIndex) const
{
return nIndex == 0 ? m_aFirst.m_aAddrSpec :
m_aRest[ nIndex - 1 ]->m_aAddrSpec;
}
- const rtl::OUString& GetRealName(sal_Int32 nIndex) const
+ const OUString& GetRealName(sal_Int32 nIndex) const
{
return nIndex == 0 ? m_aFirst.m_aRealName :
m_aRest[ nIndex - 1 ]->m_aRealName;
diff --git a/svl/inc/svl/restrictedpaths.hxx b/svl/inc/svl/restrictedpaths.hxx
index 92ece853aa1e..85326a569654 100644
--- a/svl/inc/svl/restrictedpaths.hxx
+++ b/svl/inc/svl/restrictedpaths.hxx
@@ -22,7 +22,6 @@
#include <svl/urlfilter.hxx>
#include <svl/svldllapi.h>
-#include <tools/string.hxx>
#include <vector>
@@ -31,7 +30,7 @@ namespace svt
class SVL_DLLPUBLIC RestrictedPaths : public IUrlFilter
{
private:
- ::std::vector< String > m_aUnrestrictedURLs;
+ ::std::vector< OUString > m_aUnrestrictedURLs;
bool m_bFilterIsEnabled;
public:
@@ -39,7 +38,7 @@ namespace svt
virtual ~RestrictedPaths();
inline bool hasFilter() const { return !m_aUnrestrictedURLs.empty(); }
- inline const ::std::vector< String >& getFilter() const { return m_aUnrestrictedURLs; }
+ inline const ::std::vector< OUString >& getFilter() const { return m_aUnrestrictedURLs; }
inline void enableFilter( bool _bEnable ) { m_bFilterIsEnabled = _bEnable; }
inline bool isFilterEnabled() const { return m_bFilterIsEnabled; }
@@ -53,7 +52,7 @@ namespace svt
<p>If no "access restriction" is effective, this method always returns <TRUE/>.</p>
*/
- virtual bool isUrlAllowed( const String& _rURL ) const;
+ virtual bool isUrlAllowed( const OUString& _rURL ) const;
/** checks URL access permissions
@@ -66,7 +65,7 @@ namespace svt
<p>If no "access restriction" is effective, this method always returns <TRUE/>.</p>
*/
- bool isUrlAllowed( const String& _rURL, bool allowParents ) const;
+ bool isUrlAllowed( const OUString& _rURL, bool allowParents ) const;
};
} // namespace svt
diff --git a/svl/inc/svl/urlfilter.hxx b/svl/inc/svl/urlfilter.hxx
index 9e13d4393c66..abcf0fd07091 100644
--- a/svl/inc/svl/urlfilter.hxx
+++ b/svl/inc/svl/urlfilter.hxx
@@ -20,7 +20,6 @@
#ifndef SVTOOLS_URL_FILTER_HXX
#define SVTOOLS_URL_FILTER_HXX
-#include <tools/string.hxx>
#include <tools/wldcrd.hxx>
#include <functional>
#include <vector>
@@ -29,7 +28,7 @@
class IUrlFilter
{
public:
- virtual bool isUrlAllowed( const String& _rURL ) const = 0;
+ virtual bool isUrlAllowed( const OUString& _rURL ) const = 0;
protected:
virtual inline ~IUrlFilter() = 0;
@@ -40,16 +39,16 @@ inline IUrlFilter::~IUrlFilter() {}
struct FilterMatch : public ::std::unary_function< bool, WildCard >
{
private:
- const String& m_rCompareString;
+ const OUString& m_rCompareString;
public:
- FilterMatch( const String& _rCompareString ) : m_rCompareString( _rCompareString ) { }
+ FilterMatch( const OUString& _rCompareString ) : m_rCompareString( _rCompareString ) { }
bool operator()( const WildCard& _rMatcher )
{
return _rMatcher.Matches( m_rCompareString ) ? true : false;
}
- static void createWildCardFilterList(const String& _rFilterList,::std::vector< WildCard >& _rFilters);
+ static void createWildCardFilterList(const OUString& _rFilterList,::std::vector< WildCard >& _rFilters);
};
#endif // SVTOOLS_URL_FILTER_HXX
diff --git a/svl/source/misc/adrparse.cxx b/svl/source/misc/adrparse.cxx
index fd5553e2e083..b8914eaca053 100644
--- a/svl/source/misc/adrparse.cxx
+++ b/svl/source/misc/adrparse.cxx
@@ -106,14 +106,14 @@ class SvAddressParser_Impl
bool readToken();
- static rtl::OUString reparse(sal_Unicode const * pBegin,
- sal_Unicode const * pEnd, bool bAddrSpec);
+ static OUString reparse(sal_Unicode const * pBegin,
+ sal_Unicode const * pEnd, bool bAddrSpec);
- static rtl::OUString reparseComment(sal_Unicode const * pBegin,
- sal_Unicode const * pEnd);
+ static OUString reparseComment(sal_Unicode const * pBegin,
+ sal_Unicode const * pEnd);
public:
- SvAddressParser_Impl(SvAddressParser * pParser, const rtl::OUString& rIn);
+ SvAddressParser_Impl(SvAddressParser * pParser, const OUString& rIn);
};
inline void SvAddressParser_Impl::resetRealNameAndFirstComment()
@@ -229,7 +229,7 @@ bool SvAddressParser_Impl::readToken()
m_pCurTokenContentBegin = 0;
m_pCurTokenContentEnd = 0;
bool bEscaped = false;
- xub_StrLen nLevel = 0;
+ int nLevel = 0;
for (;;)
{
if (m_pInputPos >= m_pInputEnd)
@@ -318,112 +318,112 @@ bool SvAddressParser_Impl::readToken()
//============================================================================
// static
-rtl::OUString SvAddressParser_Impl::reparse(sal_Unicode const * pBegin,
- sal_Unicode const * pEnd, bool bAddrSpec)
+OUString SvAddressParser_Impl::reparse(sal_Unicode const * pBegin,
+ sal_Unicode const * pEnd, bool bAddrSpec)
{
- rtl::OUStringBuffer aResult;
+ OUStringBuffer aResult;
TokenType eMode = TOKEN_ATOM;
bool bEscaped = false;
bool bEndsWithSpace = false;
- xub_StrLen nLevel = 0;
+ int nLevel = 0;
while (pBegin < pEnd)
{
sal_Unicode cChar = *pBegin++;
switch (eMode)
{
- case TOKEN_QUOTED:
- if (bEscaped)
- {
+ case TOKEN_QUOTED:
+ if (bEscaped)
+ {
+ aResult.append(cChar);
+ bEscaped = false;
+ }
+ else if (cChar == '"')
+ {
+ if (bAddrSpec)
aResult.append(cChar);
- bEscaped = false;
- }
- else if (cChar == '"')
- {
- if (bAddrSpec)
- aResult.append(cChar);
- eMode = TOKEN_ATOM;
- }
- else if (cChar == '\\')
- {
- if (bAddrSpec)
- aResult.append(cChar);
- bEscaped = true;
- }
- else
+ eMode = TOKEN_ATOM;
+ }
+ else if (cChar == '\\')
+ {
+ if (bAddrSpec)
aResult.append(cChar);
- break;
+ bEscaped = true;
+ }
+ else
+ aResult.append(cChar);
+ break;
- case TOKEN_DOMAIN:
- if (bEscaped)
- {
+ case TOKEN_DOMAIN:
+ if (bEscaped)
+ {
+ aResult.append(cChar);
+ bEscaped = false;
+ }
+ else if (cChar == ']')
+ {
+ aResult.append(cChar);
+ eMode = TOKEN_ATOM;
+ }
+ else if (cChar == '\\')
+ {
+ if (bAddrSpec)
aResult.append(cChar);
- bEscaped = false;
+ bEscaped = true;
+ }
+ else
+ aResult.append(cChar);
+ break;
+
+ case TOKEN_COMMENT:
+ if (bEscaped)
+ bEscaped = false;
+ else if (cChar == '(')
+ ++nLevel;
+ else if (cChar == ')')
+ if (nLevel)
+ --nLevel;
+ else
+ eMode = TOKEN_ATOM;
+ else if (cChar == '\\')
+ bEscaped = true;
+ break;
+
+ case TOKEN_ATOM:
+ if (cChar <= ' ' || cChar == 0x7F) // DEL
+ {
+ if (!bAddrSpec && !bEndsWithSpace)
+ {
+ aResult.append(' ');
+ bEndsWithSpace = true;
}
- else if (cChar == ']')
+ }
+ else if (cChar == '(')
+ {
+ if (!bAddrSpec && !bEndsWithSpace)
{
- aResult.append(cChar);
- eMode = TOKEN_ATOM;
+ aResult.append(' ');
+ bEndsWithSpace = true;
}
- else if (cChar == '\\')
+ eMode = TOKEN_COMMENT;
+ }
+ else
+ {
+ bEndsWithSpace = false;
+ if (cChar == '"')
{
if (bAddrSpec)
aResult.append(cChar);
- bEscaped = true;
- }
- else
- aResult.append(cChar);
- break;
-
- case TOKEN_COMMENT:
- if (bEscaped)
- bEscaped = false;
- else if (cChar == '(')
- ++nLevel;
- else if (cChar == ')')
- if (nLevel)
- --nLevel;
- else
- eMode = TOKEN_ATOM;
- else if (cChar == '\\')
- bEscaped = true;
- break;
-
- case TOKEN_ATOM:
- if (cChar <= ' ' || cChar == 0x7F) // DEL
- {
- if (!bAddrSpec && !bEndsWithSpace)
- {
- aResult.append(' ');
- bEndsWithSpace = true;
- }
+ eMode = TOKEN_QUOTED;
}
- else if (cChar == '(')
+ else if (cChar == '[')
{
- if (!bAddrSpec && !bEndsWithSpace)
- {
- aResult.append(' ');
- bEndsWithSpace = true;
- }
- eMode = TOKEN_COMMENT;
+ aResult.append(cChar);
+ eMode = TOKEN_QUOTED;
}
else
- {
- bEndsWithSpace = false;
- if (cChar == '"')
- {
- if (bAddrSpec)
- aResult.append(cChar);
- eMode = TOKEN_QUOTED;
- }
- else if (cChar == '[')
- {
- aResult.append(cChar);
- eMode = TOKEN_QUOTED;
- }
- else
- aResult.append(cChar);
- }
- break;
+ aResult.append(cChar);
+ }
+ break;
}
}
return aResult.makeStringAndClear();
@@ -431,10 +431,10 @@ rtl::OUString SvAddressParser_Impl::reparse(sal_Unicode const * pBegin,
//============================================================================
// static
-rtl::OUString SvAddressParser_Impl::reparseComment(sal_Unicode const * pBegin,
- sal_Unicode const * pEnd)
+OUString SvAddressParser_Impl::reparseComment(sal_Unicode const * pBegin,
+ sal_Unicode const * pEnd)
{
- rtl::OUStringBuffer aResult;
+ OUStringBuffer aResult;
while (pBegin < pEnd)
{
sal_Unicode cChar = *pBegin++;
@@ -447,7 +447,7 @@ rtl::OUString SvAddressParser_Impl::reparseComment(sal_Unicode const * pBegin,
//============================================================================
SvAddressParser_Impl::SvAddressParser_Impl(SvAddressParser * pParser,
- const rtl::OUString& rInput)
+ const OUString& rInput)
{
m_pInputPos = rInput.getStr();
m_pInputEnd = m_pInputPos + rInput.getLength();
@@ -469,272 +469,258 @@ SvAddressParser_Impl::SvAddressParser_Impl(SvAddressParser * pParser,
}
switch (m_nCurToken)
{
- case TOKEN_QUOTED:
- if (m_pAddrSpec->m_eLastElem != ELEMENT_END)
- {
- if (m_pAddrSpec->m_bAtFound
- || m_pAddrSpec->m_eLastElem <= ELEMENT_DELIM)
- m_pAddrSpec->reset();
- addTokenToAddrSpec(ELEMENT_ITEM);
- }
- if (!m_bRealNameFinished && m_eState != AFTER_LESS)
+ case TOKEN_QUOTED:
+ if (m_pAddrSpec->m_eLastElem != ELEMENT_END)
+ {
+ if (m_pAddrSpec->m_bAtFound
+ || m_pAddrSpec->m_eLastElem <= ELEMENT_DELIM)
+ m_pAddrSpec->reset();
+ addTokenToAddrSpec(ELEMENT_ITEM);
+ }
+ if (!m_bRealNameFinished && m_eState != AFTER_LESS)
+ {
+ if (m_bCurTokenReparse)
{
- if (m_bCurTokenReparse)
- {
- if (!m_pRealNameBegin)
- m_pRealNameBegin = m_pCurTokenBegin;
- m_pRealNameEnd = m_pCurTokenEnd;
- m_bRealNameReparse = true;
- }
- else if (m_bRealNameReparse)
- m_pRealNameEnd = m_pCurTokenEnd;
- else if (!m_pRealNameBegin)
- {
+ if (!m_pRealNameBegin)
m_pRealNameBegin = m_pCurTokenBegin;
- m_pRealNameContentBegin = m_pCurTokenContentBegin;
- m_pRealNameEnd = m_pRealNameContentEnd
- = m_pCurTokenContentEnd;
- }
- else
- {
- m_pRealNameEnd = m_pCurTokenEnd;
- m_bRealNameReparse = true;
- }
+ m_pRealNameEnd = m_pCurTokenEnd;
+ m_bRealNameReparse = true;
}
- m_eType = TOKEN_ATOM;
- break;
-
- case TOKEN_DOMAIN:
- if (m_pAddrSpec->m_eLastElem != ELEMENT_END)
+ else if (m_bRealNameReparse)
+ m_pRealNameEnd = m_pCurTokenEnd;
+ else if (!m_pRealNameBegin)
{
- if (m_pAddrSpec->m_bAtFound
- && m_pAddrSpec->m_eLastElem == ELEMENT_DELIM)
- addTokenToAddrSpec(ELEMENT_ITEM);
- else
- m_pAddrSpec->reset();
+ m_pRealNameBegin = m_pCurTokenBegin;
+ m_pRealNameContentBegin = m_pCurTokenContentBegin;
+ m_pRealNameEnd = m_pRealNameContentEnd = m_pCurTokenContentEnd;
}
- addTokenToRealName();
- m_eType = TOKEN_ATOM;
- break;
-
- case TOKEN_COMMENT:
- if (!m_bRealNameFinished && m_eState != AFTER_LESS
- && !m_pFirstCommentBegin && m_pCurTokenContentBegin)
+ else
{
- m_pFirstCommentBegin = m_pCurTokenContentBegin;
- m_pFirstCommentEnd = m_pCurTokenContentEnd;
- m_bFirstCommentReparse = m_bCurTokenReparse;
+ m_pRealNameEnd = m_pCurTokenEnd;
+ m_bRealNameReparse = true;
}
- m_eType = TOKEN_ATOM;
- break;
+ }
+ m_eType = TOKEN_ATOM;
+ break;
- case TOKEN_ATOM:
- if (m_pAddrSpec->m_eLastElem != ELEMENT_END)
- {
- if (m_pAddrSpec->m_eLastElem != ELEMENT_DELIM)
- m_pAddrSpec->reset();
+ case TOKEN_DOMAIN:
+ if (m_pAddrSpec->m_eLastElem != ELEMENT_END)
+ {
+ if (m_pAddrSpec->m_bAtFound && m_pAddrSpec->m_eLastElem == ELEMENT_DELIM)
addTokenToAddrSpec(ELEMENT_ITEM);
- }
- addTokenToRealName();
+ else
+ m_pAddrSpec->reset();
+ }
+ addTokenToRealName();
+ m_eType = TOKEN_ATOM;
+ break;
+
+ case TOKEN_COMMENT:
+ if (!m_bRealNameFinished && m_eState != AFTER_LESS
+ && !m_pFirstCommentBegin && m_pCurTokenContentBegin)
+ {
+ m_pFirstCommentBegin = m_pCurTokenContentBegin;
+ m_pFirstCommentEnd = m_pCurTokenContentEnd;
+ m_bFirstCommentReparse = m_bCurTokenReparse;
+ }
+ m_eType = TOKEN_ATOM;
+ break;
+
+ case TOKEN_ATOM:
+ if (m_pAddrSpec->m_eLastElem != ELEMENT_END)
+ {
+ if (m_pAddrSpec->m_eLastElem != ELEMENT_DELIM)
+ m_pAddrSpec->reset();
+ addTokenToAddrSpec(ELEMENT_ITEM);
+ }
+ addTokenToRealName();
+ break;
+
+ case '(':
+ m_eType = TOKEN_COMMENT;
+ break;
+
+ case ')':
+ case '\\':
+ case ']':
+ m_pAddrSpec->finish();
+ addTokenToRealName();
+ break;
+
+ case '<':
+ switch (m_eState)
+ {
+ case BEFORE_COLON:
+ case BEFORE_LESS:
+ m_aOuterAddrSpec.finish();
+ if (m_pRealNameBegin)
+ m_bRealNameFinished = true;
+ m_pAddrSpec = &m_aInnerAddrSpec;
+ m_eState = AFTER_LESS;
break;
- case '(':
- m_eType = TOKEN_COMMENT;
+ case AFTER_LESS:
+ m_aInnerAddrSpec.finish();
break;
- case ')':
- case '\\':
- case ']':
- m_pAddrSpec->finish();
+ case AFTER_GREATER:
+ m_aOuterAddrSpec.finish();
addTokenToRealName();
break;
+ }
+ break;
- case '<':
- switch (m_eState)
+ case '>':
+ if (m_eState == AFTER_LESS)
+ {
+ m_aInnerAddrSpec.finish();
+ if (m_aInnerAddrSpec.isValid())
+ m_aOuterAddrSpec.m_eLastElem = ELEMENT_END;
+ m_pAddrSpec = &m_aOuterAddrSpec;
+ m_eState = AFTER_GREATER;
+ }
+ else
+ {
+ m_aOuterAddrSpec.finish();
+ addTokenToRealName();
+ }
+ break;
+
+ case '@':
+ if (m_pAddrSpec->m_eLastElem != ELEMENT_END)
+ {
+ if (!m_pAddrSpec->m_bAtFound
+ && m_pAddrSpec->m_eLastElem == ELEMENT_ITEM)
{
- case BEFORE_COLON:
- case BEFORE_LESS:
- m_aOuterAddrSpec.finish();
- if (m_pRealNameBegin)
- m_bRealNameFinished = true;
- m_pAddrSpec = &m_aInnerAddrSpec;
- m_eState = AFTER_LESS;
- break;
-
- case AFTER_LESS:
- m_aInnerAddrSpec.finish();
- break;
-
- case AFTER_GREATER:
- m_aOuterAddrSpec.finish();
- addTokenToRealName();
- break;
+ addTokenToAddrSpec(ELEMENT_DELIM);
+ m_pAddrSpec->m_bAtFound = true;
}
- break;
+ else
+ m_pAddrSpec->reset();
+ }
+ addTokenToRealName();
+ break;
- case '>':
- if (m_eState == AFTER_LESS)
+ case ',':
+ case ';':
+ if (m_eState == AFTER_LESS)
+ if (m_nCurToken == ',')
{
+ if (m_aInnerAddrSpec.m_eLastElem != ELEMENT_END)
+ m_aInnerAddrSpec.reset();
+ }
+ else
m_aInnerAddrSpec.finish();
- if (m_aInnerAddrSpec.isValid())
- m_aOuterAddrSpec.m_eLastElem = ELEMENT_END;
+ else
+ {
+ if(m_aInnerAddrSpec.isValid() || (!m_aOuterAddrSpec.isValid() && m_aInnerAddrSpec.isPoorlyValid()))
+ {
+ m_pAddrSpec = &m_aInnerAddrSpec;
+ }
+ else if(m_aOuterAddrSpec.isPoorlyValid())
+ {
m_pAddrSpec = &m_aOuterAddrSpec;
- m_eState = AFTER_GREATER;
}
else
{
- m_aOuterAddrSpec.finish();
- addTokenToRealName();
+ m_pAddrSpec = 0;
}
- break;
- case '@':
- if (m_pAddrSpec->m_eLastElem != ELEMENT_END)
+ if (m_pAddrSpec)
{
- if (!m_pAddrSpec->m_bAtFound
- && m_pAddrSpec->m_eLastElem == ELEMENT_ITEM)
+ OUString aTheAddrSpec;
+ if (m_pAddrSpec->m_bReparse)
+ aTheAddrSpec = reparse(m_pAddrSpec->m_pBegin, m_pAddrSpec->m_pEnd, true);
+ else
{
- addTokenToAddrSpec(ELEMENT_DELIM);
- m_pAddrSpec->m_bAtFound = true;
+ sal_Int32 nLen = ( m_pAddrSpec->m_pEnd - m_pAddrSpec->m_pBegin);
+ if (nLen == rInput.getLength())
+ aTheAddrSpec = rInput;
+ else
+ aTheAddrSpec = rInput.copy( (m_pAddrSpec->m_pBegin - rInput.getStr()),
+ nLen);
}
- else
- m_pAddrSpec->reset();
- }
- addTokenToRealName();
- break;
-
- case ',':
- case ';':
- if (m_eState == AFTER_LESS)
- if (m_nCurToken == ',')
+ OUString aTheRealName;
+ if (!m_pRealNameBegin ||
+ (m_pAddrSpec == &m_aOuterAddrSpec &&
+ m_pRealNameBegin == m_aOuterAddrSpec.m_pBegin &&
+ m_pRealNameEnd == m_aOuterAddrSpec.m_pEnd &&
+ m_pFirstCommentBegin))
{
- if (m_aInnerAddrSpec.m_eLastElem
- != ELEMENT_END)
- m_aInnerAddrSpec.reset();
+ if (!m_pFirstCommentBegin)
+ aTheRealName = aTheAddrSpec;
+ else if (m_bFirstCommentReparse)
+ aTheRealName = reparseComment(m_pFirstCommentBegin,
+ m_pFirstCommentEnd);
+ else
+ aTheRealName = rInput.copy( (m_pFirstCommentBegin - rInput.getStr()),
+ (m_pFirstCommentEnd - m_pFirstCommentBegin));
}
+ else if (m_bRealNameReparse)
+ aTheRealName = reparse(m_pRealNameBegin, m_pRealNameEnd, false);
else
- m_aInnerAddrSpec.finish();
- else
- {
- m_pAddrSpec = m_aInnerAddrSpec.isValid()
- || (!m_aOuterAddrSpec.isValid()
- && m_aInnerAddrSpec.isPoorlyValid()) ?
- &m_aInnerAddrSpec :
- m_aOuterAddrSpec.isPoorlyValid() ?
- &m_aOuterAddrSpec : 0;
- if (m_pAddrSpec)
{
- rtl::OUString aTheAddrSpec;
- if (m_pAddrSpec->m_bReparse)
- aTheAddrSpec = reparse(m_pAddrSpec->m_pBegin,
- m_pAddrSpec->m_pEnd, true);
+ sal_Int32 nLen = (m_pRealNameContentEnd - m_pRealNameContentBegin);
+ if (nLen == rInput.getLength())
+ aTheRealName = rInput;
else
- {
- sal_Int32 nLen = (
- m_pAddrSpec->m_pEnd
- - m_pAddrSpec->m_pBegin);
- if (nLen == rInput.getLength())
- aTheAddrSpec = rInput;
- else
- aTheAddrSpec
- = rInput.copy(
- (m_pAddrSpec->m_pBegin
- - rInput.getStr()),
- nLen);
- }
- rtl::OUString aTheRealName;
- if (!m_pRealNameBegin
- || (m_pAddrSpec == &m_aOuterAddrSpec
- && m_pRealNameBegin
- == m_aOuterAddrSpec.m_pBegin
- && m_pRealNameEnd == m_aOuterAddrSpec.m_pEnd
- && m_pFirstCommentBegin))
- if (!m_pFirstCommentBegin)
- aTheRealName = aTheAddrSpec;
- else if (m_bFirstCommentReparse)
- aTheRealName
- = reparseComment(m_pFirstCommentBegin,
- m_pFirstCommentEnd);
- else
- aTheRealName
- = rInput.copy(
- (m_pFirstCommentBegin
- - rInput.getStr()),
- (m_pFirstCommentEnd
- - m_pFirstCommentBegin));
- else if (m_bRealNameReparse)
- aTheRealName = reparse(m_pRealNameBegin,
- m_pRealNameEnd, false);
- else
- {
- sal_Int32 nLen =
- (m_pRealNameContentEnd
- - m_pRealNameContentBegin);
- if (nLen == rInput.getLength())
- aTheRealName = rInput;
- else
- aTheRealName
- = rInput.copy(
- (m_pRealNameContentBegin
- - rInput.getStr()), nLen);
- }
- if (pParser->m_bHasFirst)
- pParser->m_aRest.push_back(new SvAddressEntry_Impl(
- aTheAddrSpec,
- aTheRealName)
- );
- else
- {
- pParser->m_bHasFirst = true;
- pParser->m_aFirst.m_aAddrSpec = aTheAddrSpec;
- pParser->m_aFirst.m_aRealName = aTheRealName;
- }
+ aTheRealName = rInput.copy( (m_pRealNameContentBegin - rInput.getStr()), nLen);
+ }
+ if (pParser->m_bHasFirst)
+ pParser->m_aRest.push_back(new SvAddressEntry_Impl( aTheAddrSpec,
+ aTheRealName) );
+ else
+ {
+ pParser->m_bHasFirst = true;
+ pParser->m_aFirst.m_aAddrSpec = aTheAddrSpec;
+ pParser->m_aFirst.m_aRealName = aTheRealName;
}
- if (bDone)
- return;
- reset();
- }
- break;
-
- case ':':
- switch (m_eState)
- {
- case BEFORE_COLON:
- m_aOuterAddrSpec.reset();
- resetRealNameAndFirstComment();
- m_eState = BEFORE_LESS;
- break;
-
- case BEFORE_LESS:
- case AFTER_GREATER:
- m_aOuterAddrSpec.finish();
- addTokenToRealName();
- break;
-
- case AFTER_LESS:
- m_aInnerAddrSpec.reset();
- break;
}
- break;
+ if (bDone)
+ return;
+ reset();
+ }
+ break;
- case '"':
- m_eType = TOKEN_QUOTED;
+ case ':':
+ switch (m_eState)
+ {
+ case BEFORE_COLON:
+ m_aOuterAddrSpec.reset();
+ resetRealNameAndFirstComment();
+ m_eState = BEFORE_LESS;
break;
- case '.':
- if (m_pAddrSpec->m_eLastElem != ELEMENT_END)
- {
- if (m_pAddrSpec->m_eLastElem != ELEMENT_DELIM)
- addTokenToAddrSpec(ELEMENT_DELIM);
- else
- m_pAddrSpec->reset();
- }
+ case BEFORE_LESS:
+ case AFTER_GREATER:
+ m_aOuterAddrSpec.finish();
addTokenToRealName();
break;
- case '[':
- m_eType = TOKEN_DOMAIN;
+ case AFTER_LESS:
+ m_aInnerAddrSpec.reset();
break;
+ }
+ break;
+
+ case '"':
+ m_eType = TOKEN_QUOTED;
+ break;
+
+ case '.':
+ if (m_pAddrSpec->m_eLastElem != ELEMENT_END)
+ {
+ if (m_pAddrSpec->m_eLastElem != ELEMENT_DELIM)
+ addTokenToAddrSpec(ELEMENT_DELIM);
+ else
+ m_pAddrSpec->reset();
+ }
+ addTokenToRealName();
+ break;
+
+ case '[':
+ m_eType = TOKEN_DOMAIN;
+ break;
}
}
}
@@ -745,7 +731,7 @@ SvAddressParser_Impl::SvAddressParser_Impl(SvAddressParser * pParser,
//
//============================================================================
-SvAddressParser::SvAddressParser(const rtl::OUString& rInput)
+SvAddressParser::SvAddressParser(const OUString& rInput)
: m_bHasFirst(false)
{
SvAddressParser_Impl aDoParse(this, rInput);
diff --git a/svl/source/misc/restrictedpaths.cxx b/svl/source/misc/restrictedpaths.cxx
index 25608c4db3c5..1cff9712fd8d 100644
--- a/svl/source/misc/restrictedpaths.cxx
+++ b/svl/source/misc/restrictedpaths.cxx
@@ -33,16 +33,16 @@ namespace svt
/** retrieves the value of an environment variable
@return <TRUE/> if and only if the retrieved string value is not empty
*/
- bool lcl_getEnvironmentValue( const sal_Char* _pAsciiEnvName, ::rtl::OUString& _rValue )
+ bool lcl_getEnvironmentValue( const sal_Char* _pAsciiEnvName, OUString& _rValue )
{
- _rValue = ::rtl::OUString();
- ::rtl::OUString sEnvName = ::rtl::OUString::createFromAscii( _pAsciiEnvName );
+ _rValue = OUString();
+ OUString sEnvName = OUString::createFromAscii( _pAsciiEnvName );
osl_getEnvironment( sEnvName.pData, &_rValue.pData );
return !_rValue.isEmpty();
}
//-----------------------------------------------------------------
- void lcl_convertStringListToUrls( const rtl::OUString& _rColonSeparatedList, ::std::vector< String >& _rTokens )
+ void lcl_convertStringListToUrls( const OUString& _rColonSeparatedList, ::std::vector< OUString >& _rTokens )
{
const sal_Unicode cSeparator =
#if defined(WNT)
@@ -55,12 +55,12 @@ namespace svt
do
{
// the current token in the list
- rtl::OUString sCurrentToken = _rColonSeparatedList.getToken( 0, cSeparator, nIndex );
+ OUString sCurrentToken = _rColonSeparatedList.getToken( 0, cSeparator, nIndex );
if ( !sCurrentToken.isEmpty() )
{
INetURLObject aCurrentURL;
- rtl::OUString sURL;
+ OUString sURL;
if ( ::utl::LocalFileHelper::ConvertPhysicalNameToURL( sCurrentToken, sURL ) )
aCurrentURL = INetURLObject( sURL );
else
@@ -87,10 +87,10 @@ namespace svt
#ifdef WNT
SvtSysLocale m_aSysLocale;
#endif
- String m_sCheckURL; // the URL to check
+ OUString m_sCheckURL; // the URL to check
bool m_bAllowParent;
public:
- inline CheckURLAllowed( const String& _rCheckURL, bool bAllowParent = true )
+ inline CheckURLAllowed( const OUString& _rCheckURL, bool bAllowParent = true )
:m_sCheckURL( _rCheckURL ), m_bAllowParent( bAllowParent )
{
#ifdef WNT
@@ -100,27 +100,27 @@ namespace svt
#endif
}
- bool operator()( const String& _rApprovedURL )
+ bool operator()( const OUString& _rApprovedURL )
{
#ifdef WNT
// on windows, assume that the relevant file systems are case insensitive,
// thus normalize the URL
- String sApprovedURL( m_aSysLocale.GetCharClass().lowercase( _rApprovedURL, 0, _rApprovedURL.Len() ) );
+ OUString sApprovedURL( m_aSysLocale.GetCharClass().lowercase( _rApprovedURL, 0, _rApprovedURL.getLength() ) );
#else
- String sApprovedURL( _rApprovedURL );
+ OUString sApprovedURL( _rApprovedURL );
#endif
- xub_StrLen nLenApproved = sApprovedURL.Len();
- xub_StrLen nLenChecked = m_sCheckURL.Len();
+ sal_Int32 nLenApproved = sApprovedURL.getLength();
+ sal_Int32 nLenChecked = m_sCheckURL.getLength();
if ( nLenApproved > nLenChecked )
{
if ( m_bAllowParent )
{
- if ( sApprovedURL.Search( m_sCheckURL ) == 0 )
+ if ( sApprovedURL.indexOf( m_sCheckURL ) == 0 )
{
- if ( ( m_sCheckURL.GetChar( nLenChecked - 1 ) == '/' )
- || ( sApprovedURL.GetChar( nLenChecked ) == '/' ) )
+ if ( ( m_sCheckURL[ nLenChecked - 1 ] == '/' )
+ || ( sApprovedURL[ nLenChecked ] == '/' ) )
return true;
}
}
@@ -128,17 +128,17 @@ namespace svt
{
// just a difference in final slash?
if ( ( nLenApproved == ( nLenChecked + 1 ) ) &&
- ( sApprovedURL.GetChar( nLenApproved - 1 ) == '/' ) )
+ ( sApprovedURL[ nLenApproved - 1 ] == '/' ) )
return true;
}
return false;
}
else if ( nLenApproved < nLenChecked )
{
- if ( m_sCheckURL.Search( sApprovedURL ) == 0 )
+ if ( m_sCheckURL.indexOf( sApprovedURL ) == 0 )
{
- if ( ( sApprovedURL.GetChar( nLenApproved - 1 ) == '/' )
- || ( m_sCheckURL.GetChar( nLenApproved ) == '/' ) )
+ if ( ( sApprovedURL[ nLenApproved - 1 ] == '/' )
+ || ( m_sCheckURL[ nLenApproved ] == '/' ) )
return true;
}
return false;
@@ -158,7 +158,7 @@ namespace svt
RestrictedPaths::RestrictedPaths()
:m_bFilterIsEnabled( true )
{
- ::rtl::OUString sRestrictedPathList;
+ OUString sRestrictedPathList;
if ( lcl_getEnvironmentValue( "RestrictedPath", sRestrictedPathList ) )
// append a final slash. This ensures that when we later on check
// for unrestricted paths, we don't allow paths like "/home/user35" just because
@@ -169,12 +169,12 @@ namespace svt
RestrictedPaths::~RestrictedPaths() {}
// --------------------------------------------------------------------
- bool RestrictedPaths::isUrlAllowed( const String& _rURL ) const
+ bool RestrictedPaths::isUrlAllowed( const OUString& _rURL ) const
{
if ( m_aUnrestrictedURLs.empty() || !m_bFilterIsEnabled )
return true;
- ::std::vector< String >::const_iterator aApprovedURL = ::std::find_if(
+ ::std::vector< OUString >::const_iterator aApprovedURL = ::std::find_if(
m_aUnrestrictedURLs.begin(),
m_aUnrestrictedURLs.end(),
CheckURLAllowed( _rURL, true )
@@ -184,12 +184,12 @@ namespace svt
}
// --------------------------------------------------------------------
- bool RestrictedPaths::isUrlAllowed( const String& _rURL, bool allowParents ) const
+ bool RestrictedPaths::isUrlAllowed( const OUString& _rURL, bool allowParents ) const
{
if ( m_aUnrestrictedURLs.empty() || !m_bFilterIsEnabled )
return true;
- ::std::vector< String >::const_iterator aApprovedURL = ::std::find_if(
+ ::std::vector< OUString >::const_iterator aApprovedURL = ::std::find_if(
m_aUnrestrictedURLs.begin(),
m_aUnrestrictedURLs.end(),
CheckURLAllowed( _rURL, allowParents )