summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--writerfilter/inc/dmapper/DomainMapperFactory.hxx2
-rw-r--r--writerfilter/qa/cppunittests/misc/misc.cxx38
-rw-r--r--writerfilter/source/dmapper/ConversionHelper.cxx4
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx36
-rw-r--r--writerfilter/source/rtftok/rtfdocumentimpl.cxx14
5 files changed, 47 insertions, 47 deletions
diff --git a/writerfilter/inc/dmapper/DomainMapperFactory.hxx b/writerfilter/inc/dmapper/DomainMapperFactory.hxx
index 944ec1aeeccc..ea7ab81e1a1b 100644
--- a/writerfilter/inc/dmapper/DomainMapperFactory.hxx
+++ b/writerfilter/inc/dmapper/DomainMapperFactory.hxx
@@ -41,7 +41,7 @@ public:
// export just for test
SAL_DLLPUBLIC_EXPORT std::tuple<OUString, std::vector<OUString>, std::vector<OUString>>
-splitFieldCommand(const OUString& rCommand);
+splitFieldCommand(std::u16string_view rCommand);
} // namespace writerfilter::dmapper
diff --git a/writerfilter/qa/cppunittests/misc/misc.cxx b/writerfilter/qa/cppunittests/misc/misc.cxx
index ce9e9ba28c29..027752bd7ad2 100644
--- a/writerfilter/qa/cppunittests/misc/misc.cxx
+++ b/writerfilter/qa/cppunittests/misc/misc.cxx
@@ -60,77 +60,77 @@ void WriterfilterMiscTest::testFieldParameters()
using writerfilter::dmapper::splitFieldCommand;
std::tuple<OUString, std::vector<OUString>, std::vector<OUString>> result;
- result = splitFieldCommand("PAGEREF last_page");
+ result = splitFieldCommand(u"PAGEREF last_page");
CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
CPPUNIT_ASSERT(std::get<2>(result).empty());
- result = splitFieldCommand(" PAGEREF last_page ");
+ result = splitFieldCommand(u" PAGEREF last_page ");
CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
- result = splitFieldCommand("pageref last_page");
+ result = splitFieldCommand(u"pageref last_page");
CPPUNIT_ASSERT(std::get<2>(result).empty());
CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
CPPUNIT_ASSERT(std::get<2>(result).empty());
- result = splitFieldCommand("pageref \"last_page\"");
+ result = splitFieldCommand(u"pageref \"last_page\"");
CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
CPPUNIT_ASSERT(std::get<2>(result).empty());
- result = splitFieldCommand("\"PAGEREF\" \"last_page\" \"\" ");
+ result = splitFieldCommand(u"\"PAGEREF\" \"last_page\" \"\" ");
CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
CPPUNIT_ASSERT_EQUAL(size_t(2), std::get<1>(result).size());
CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
CPPUNIT_ASSERT_EQUAL(OUString(), std::get<1>(result)[1]);
CPPUNIT_ASSERT(std::get<2>(result).empty());
- result = splitFieldCommand("\"PAGEREF\"\"last_page\" ");
+ result = splitFieldCommand(u"\"PAGEREF\"\"last_page\" ");
CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
CPPUNIT_ASSERT(std::get<2>(result).empty());
- result = splitFieldCommand("PAGEREF\"last_page\" ");
+ result = splitFieldCommand(u"PAGEREF\"last_page\" ");
CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
CPPUNIT_ASSERT(std::get<2>(result).empty());
- result = splitFieldCommand("\"PAGEREF\"last_page \"\"");
+ result = splitFieldCommand(u"\"PAGEREF\"last_page \"\"");
CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
CPPUNIT_ASSERT_EQUAL(size_t(2), std::get<1>(result).size());
CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
CPPUNIT_ASSERT_EQUAL(OUString(), std::get<1>(result)[1]);
CPPUNIT_ASSERT(std::get<2>(result).empty());
- result = splitFieldCommand("\"PAGEREF\"last_page \"\"");
+ result = splitFieldCommand(u"\"PAGEREF\"last_page \"\"");
CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
CPPUNIT_ASSERT_EQUAL(size_t(2), std::get<1>(result).size());
CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
CPPUNIT_ASSERT_EQUAL(OUString(), std::get<1>(result)[1]);
CPPUNIT_ASSERT(std::get<2>(result).empty());
- result = splitFieldCommand("pageref \"last\\\\pa\\\"ge\"");
+ result = splitFieldCommand(u"pageref \"last\\\\pa\\\"ge\"");
CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
CPPUNIT_ASSERT_EQUAL(OUString("last\\pa\"ge"), std::get<1>(result)[0]);
CPPUNIT_ASSERT(std::get<2>(result).empty());
- result = splitFieldCommand("PAGEREF\"last_page\"\\*");
+ result = splitFieldCommand(u"PAGEREF\"last_page\"\\*");
CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<2>(result).size());
CPPUNIT_ASSERT_EQUAL(OUString("\\*"), std::get<2>(result)[0]);
- result = splitFieldCommand("PAGEREF last_page \\b foobar ");
+ result = splitFieldCommand(u"PAGEREF last_page \\b foobar ");
CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
CPPUNIT_ASSERT_EQUAL(size_t(1), std::get<1>(result).size());
CPPUNIT_ASSERT_EQUAL(OUString("last_page"), std::get<1>(result)[0]);
@@ -138,7 +138,7 @@ void WriterfilterMiscTest::testFieldParameters()
CPPUNIT_ASSERT_EQUAL(OUString("\\B"), std::get<2>(result)[0]);
CPPUNIT_ASSERT_EQUAL(OUString("foobar"), std::get<2>(result)[1]);
- result = splitFieldCommand("PAGEREF\\bfoobar\\A\"\"");
+ result = splitFieldCommand(u"PAGEREF\\bfoobar\\A\"\"");
CPPUNIT_ASSERT_EQUAL(OUString("PAGEREF"), std::get<0>(result));
CPPUNIT_ASSERT(std::get<1>(result).empty());
CPPUNIT_ASSERT_EQUAL(size_t(4), std::get<2>(result).size());
@@ -151,19 +151,19 @@ void WriterfilterMiscTest::testFieldParameters()
";", "<", ">", "?", "@", "[", "]", "^", "_", "`", "{", "|", "}", "~" })
{
OUString test(OUString::createFromAscii(prefix) + "PAGE");
- result = splitFieldCommand(test + " ");
+ result = splitFieldCommand(OUStringConcatenation(test + " "));
CPPUNIT_ASSERT_EQUAL(test, std::get<0>(result));
}
- result = splitFieldCommand("\\PAGE ");
+ result = splitFieldCommand(u"\\PAGE ");
CPPUNIT_ASSERT_EQUAL(OUString("PAGE"), std::get<0>(result));
- result = splitFieldCommand("\\ PAGE ");
+ result = splitFieldCommand(u"\\ PAGE ");
CPPUNIT_ASSERT_EQUAL(OUString("\\ "), std::get<0>(result));
CPPUNIT_ASSERT_EQUAL(OUString("PAGE"), std::get<1>(result)[0]);
- result = splitFieldCommand("\\\\PAGE ");
+ result = splitFieldCommand(u"\\\\PAGE ");
CPPUNIT_ASSERT_EQUAL(OUString("\\PAGE"), std::get<0>(result));
- result = splitFieldCommand("\"PAGE\" ");
+ result = splitFieldCommand(u"\"PAGE\" ");
CPPUNIT_ASSERT_EQUAL(OUString("PAGE"), std::get<0>(result));
- result = splitFieldCommand("\"PAGE ");
+ result = splitFieldCommand(u"\"PAGE ");
CPPUNIT_ASSERT_EQUAL(OUString("PAGE "), std::get<0>(result));
}
diff --git a/writerfilter/source/dmapper/ConversionHelper.cxx b/writerfilter/source/dmapper/ConversionHelper.cxx
index 5c3b0831ff1f..7f3f11544c85 100644
--- a/writerfilter/source/dmapper/ConversionHelper.cxx
+++ b/writerfilter/source/dmapper/ConversionHelper.cxx
@@ -286,10 +286,10 @@ void lcl_SwapQuotesInField(OUString &rFmt)
}
rFmt = aBuffer.makeStringAndClear();
}
-bool lcl_IsNotAM(OUString const & rFmt, sal_Int32 nPos)
+bool lcl_IsNotAM(std::u16string_view rFmt, sal_Int32 nPos)
{
return (
- (nPos == rFmt.getLength() - 1) ||
+ (nPos == static_cast<sal_Int32>(rFmt.size()) - 1) ||
(
(rFmt[nPos+1] != 'M') &&
(rFmt[nPos+1] != 'm')
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index f1a2583d6809..7b1811974713 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -4384,22 +4384,22 @@ static OUString lcl_ParseFormat( const OUString& rCommand )
/*-------------------------------------------------------------------------
extract a parameter (with or without quotes) between the command and the following backslash
-----------------------------------------------------------------------*/
-static OUString lcl_ExtractToken(OUString const& rCommand,
- sal_Int32 & rIndex, bool & rHaveToken, bool & rIsSwitch)
+static OUString lcl_ExtractToken(std::u16string_view rCommand,
+ size_t & rIndex, bool & rHaveToken, bool & rIsSwitch)
{
rHaveToken = false;
rIsSwitch = false;
OUStringBuffer token;
bool bQuoted(false);
- for (; rIndex < rCommand.getLength(); ++rIndex)
+ for (; rIndex < rCommand.size(); ++rIndex)
{
sal_Unicode const currentChar(rCommand[rIndex]);
switch (currentChar)
{
case '\\':
{
- if (rIndex == rCommand.getLength() - 1)
+ if (rIndex == rCommand.size() - 1)
{
SAL_INFO("writerfilter.dmapper", "field: trailing escape");
++rIndex;
@@ -4418,7 +4418,7 @@ static OUString lcl_ExtractToken(OUString const& rCommand,
{
rIsSwitch = true;
rIndex += 2; // read 2 chars
- return rCommand.copy(rIndex - 2, 2).toAsciiUpperCase();
+ return OUString(rCommand.substr(rIndex - 2, 2)).toAsciiUpperCase();
}
else
{ // leave rIndex, read it again next time
@@ -4472,7 +4472,7 @@ static OUString lcl_ExtractToken(OUString const& rCommand,
break;
}
}
- assert(rIndex == rCommand.getLength());
+ assert(rIndex == rCommand.size());
if (bQuoted)
{
// MS Word allows this, so just emit a debug message
@@ -4483,16 +4483,16 @@ static OUString lcl_ExtractToken(OUString const& rCommand,
return token.makeStringAndClear();
}
-std::tuple<OUString, std::vector<OUString>, std::vector<OUString> > splitFieldCommand(const OUString& rCommand)
+std::tuple<OUString, std::vector<OUString>, std::vector<OUString> > splitFieldCommand(std::u16string_view rCommand)
{
OUString sType;
std::vector<OUString> arguments;
std::vector<OUString> switches;
- sal_Int32 nStartIndex(0);
+ size_t nStartIndex(0);
// tdf#54584: Field may be prepended by a backslash
// This is not an escapement, but already escaped literal "\"
// MS Word allows this, so just skip it
- if ((rCommand.getLength() >= nStartIndex + 2) &&
+ if ((rCommand.size() >= nStartIndex + 2) &&
(rCommand[nStartIndex] == L'\\') &&
(rCommand[nStartIndex + 1] != L'\\') &&
(rCommand[nStartIndex + 1] != L' '))
@@ -4506,7 +4506,7 @@ std::tuple<OUString, std::vector<OUString>, std::vector<OUString> > splitFieldCo
bool bIsSwitch;
OUString const token =
lcl_ExtractToken(rCommand, nStartIndex, bHaveToken, bIsSwitch);
- assert(nStartIndex <= rCommand.getLength());
+ assert(nStartIndex <= rCommand.size());
if (bHaveToken)
{
if (sType.isEmpty())
@@ -4522,7 +4522,7 @@ std::tuple<OUString, std::vector<OUString>, std::vector<OUString> > splitFieldCo
arguments.push_back(token);
}
}
- } while (nStartIndex < rCommand.getLength());
+ } while (nStartIndex < rCommand.size());
return std::make_tuple(sType, arguments, switches);
}
@@ -4552,22 +4552,22 @@ static OUString lcl_ExtractVariableAndHint( std::u16string_view rCommand, OUStri
static bool lcl_FindInCommand(
- const OUString& rCommand,
+ std::u16string_view rCommand,
sal_Unicode cSwitch,
OUString& rValue )
{
bool bRet = false;
OUString sSearch = "\\" + OUStringChar( cSwitch );
- sal_Int32 nIndex = rCommand.indexOf( sSearch );
- if( nIndex >= 0 )
+ size_t nIndex = rCommand.find( sSearch );
+ if( nIndex != std::u16string_view::npos )
{
bRet = true;
//find next '\' or end of string
- sal_Int32 nEndIndex = rCommand.indexOf( '\\', nIndex + 1);
- if( nEndIndex < 0 )
- nEndIndex = rCommand.getLength() ;
+ size_t nEndIndex = rCommand.find( '\\', nIndex + 1);
+ if( nEndIndex == std::u16string_view::npos )
+ nEndIndex = rCommand.size() ;
if( nEndIndex - nIndex > 3 )
- rValue = rCommand.copy( nIndex + 3, nEndIndex - nIndex - 3);
+ rValue = rCommand.substr( nIndex + 3, nEndIndex - nIndex - 3);
}
return bRet;
}
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 3df44f0124c9..7fa664ea26b1 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -58,20 +58,20 @@ using namespace com::sun::star;
namespace
{
/// Returns an util::DateTime from a 'YYYY. MM. DD.' string.
-util::DateTime getDateTimeFromUserProp(const OUString& rString)
+util::DateTime getDateTimeFromUserProp(std::u16string_view rString)
{
util::DateTime aRet;
- sal_Int32 nLen = rString.getLength();
+ size_t nLen = rString.size();
if (nLen >= 4)
{
- aRet.Year = o3tl::toInt32(rString.subView(0, 4));
+ aRet.Year = o3tl::toInt32(rString.substr(0, 4));
- if (nLen >= 8 && rString.match(". ", 4))
+ if (nLen >= 8 && o3tl::starts_with(rString.substr(4), u". "))
{
- aRet.Month = o3tl::toInt32(rString.subView(6, 2));
+ aRet.Month = o3tl::toInt32(rString.substr(6, 2));
- if (nLen >= 12 && rString.match(". ", 8))
- aRet.Day = o3tl::toInt32(rString.subView(10, 2));
+ if (nLen >= 12 && o3tl::starts_with(rString.substr(8), u". "))
+ aRet.Day = o3tl::toInt32(rString.substr(10, 2));
}
}
return aRet;