[Libreoffice-commits] .: 5 commits - comphelper/inc i18npool/inc i18npool/source i18nutil/Package_inc.mk i18nutil/prj i18nutil/source sal/inc sw/source tools/CppunitTest_tools_test.mk tools/Executable_tools_cppunittester_all.mk tools/inc tools/qa tools/source unusedcode.easy

Caolán McNamara caolan at kemper.freedesktop.org
Fri Sep 2 01:54:47 PDT 2011


 comphelper/inc/comphelper/string.hxx                               |   66 ++++
 i18npool/inc/transliteration_commonclass.hxx                       |    1 
 i18npool/source/characterclassification/cclass_unicode.cxx         |    4 
 i18npool/source/nativenumber/nativenumbersupplier.cxx              |    4 
 i18npool/source/textconversion/textconversion_ko.cxx               |    1 
 i18npool/source/textconversion/textconversion_zh.cxx               |    4 
 i18npool/source/transliteration/ignoreIandEfollowedByYa_ja_JP.cxx  |    5 
 i18npool/source/transliteration/ignoreIterationMark_ja_JP.cxx      |    5 
 i18npool/source/transliteration/ignoreKiKuFollowedBySa_ja_JP.cxx   |    5 
 i18npool/source/transliteration/ignoreProlongedSoundMark_ja_JP.cxx |    5 
 i18npool/source/transliteration/transliteration_Ignore.cxx         |    5 
 i18npool/source/transliteration/transliteration_Numeric.cxx        |    3 
 i18npool/source/transliteration/transliteration_OneToOne.cxx       |    5 
 i18npool/source/transliteration/transliteration_body.cxx           |    5 
 i18nutil/Package_inc.mk                                            |    1 
 i18nutil/prj/build.lst                                             |    2 
 i18nutil/source/utility/widthfolding.cxx                           |    6 
 sal/inc/rtl/string.hxx                                             |   10 
 sal/inc/rtl/ustring.hxx                                            |    2 
 sw/source/filter/ww8/ww8par2.cxx                                   |    6 
 sw/source/filter/ww8/ww8scan.cxx                                   |   33 --
 sw/source/filter/ww8/ww8scan.hxx                                   |    2 
 tools/CppunitTest_tools_test.mk                                    |    2 
 tools/Executable_tools_cppunittester_all.mk                        |    2 
 tools/inc/tools/stream.hxx                                         |    4 
 tools/qa/cppunit/test_stream.cxx                                   |  148 ++++++++++
 tools/qa/cppunit/test_streamstate.cxx                              |  126 --------
 tools/source/stream/stream.cxx                                     |   28 +
 unusedcode.easy                                                    |    6 
 29 files changed, 303 insertions(+), 193 deletions(-)

New commits:
commit 1d32ee9a536cfff0f93974726f23bff24cea83fb
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Sep 2 09:51:14 2011 +0100

    regenerate

diff --git a/unusedcode.easy b/unusedcode.easy
index 5eadbd2..18da9c4 100644
--- a/unusedcode.easy
+++ b/unusedcode.easy
@@ -2061,7 +2061,6 @@ binfilter::SwDestroyList::Remove(unsigned short, unsigned short)
 binfilter::SwInsHardBlankSoftHyph::~SwInsHardBlankSoftHyph()
 binfilter::SwLayAction::SwLayAction(binfilter::SwRootFrm*, binfilter::SwViewImp*)
 binfilter::SwLayAction::~SwLayAction()
-binfilter::SwLayouter::SwLayouter()
 binfilter::SwOLELRUCache::Remove(binfilter::SwOLEObj&)
 binfilter::SwOutlineNodes::Insert(binfilter::SwNode* const&, unsigned short&)
 binfilter::SwOutlineNodes::Insert(binfilter::SwNode* const*, unsigned short)
@@ -3099,10 +3098,6 @@ utl::OConfigurationTreeRoot::OConfigurationTreeRoot(comphelper::ComponentContext
 utl::OConfigurationValueContainer::OConfigurationValueContainer(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> const&, osl::Mutex&, rtl::OUString const&, unsigned short, int)
 utl::OConfigurationValueContainer::getServiceFactory() const
 utl::OConfigurationValueContainer::registerNullValueExchangeLocation(char const*, com::sun::star::uno::Any*)
-utl::PropertySetHelper::PropertySetHelper(utl::PropertySetInfo*)
-utl::PropertySetInfo::PropertySetInfo()
-utl::PropertySetInfo::add(utl::PropertyMapEntry*)
-utl::PropertySetInfo::remove(rtl::OUString const&)
 utl::TransliterationWrapper::compareSubstring(String const&, int, int, String const&, int, int) const
 vbahelper::CollectionBase::CollectionBase(com::sun::star::uno::Type const&)
 vbahelper::CollectionBase::getAnyItemOrThis(com::sun::star::uno::Any const&)
commit 0ee8ec18c4218da4f82c4ff2bf601edca42100be
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Sep 1 23:55:18 2011 +0100

    add a way to better construct an OString of len X from a SvStream

diff --git a/sw/source/filter/ww8/ww8par2.cxx b/sw/source/filter/ww8/ww8par2.cxx
index e5948d9..613a6e1 100644
--- a/sw/source/filter/ww8/ww8par2.cxx
+++ b/sw/source/filter/ww8/ww8par2.cxx
@@ -4337,9 +4337,9 @@ void WW8RStyle::ImportOldFormatStyles()
             }
             else               // user style
             {
-                ByteString aTmp;
-                nByteCount = static_cast< sal_uInt16 >(nByteCount + SafeReadString(aTmp, nCount, rSt));
-                sName = String(aTmp, eStructChrSet);
+                rtl::OString aTmp = readBytesAsOString(rSt, nCount);
+                nByteCount += aTmp.getLength();
+                sName = rtl::OStringToOUString(aTmp, eStructChrSet);
             }
             rSI.SetOrgWWIdent(sName, stc);
             rSI.bImported = true;
diff --git a/sw/source/filter/ww8/ww8scan.cxx b/sw/source/filter/ww8/ww8scan.cxx
index 12aab49..0419c44 100644
--- a/sw/source/filter/ww8/ww8scan.cxx
+++ b/sw/source/filter/ww8/ww8scan.cxx
@@ -1972,18 +1972,6 @@ String WW8Read_xstz(SvStream& rStrm, sal_uInt16 nChars, bool bAtEndSeekRel1)
     return aStr;
 }
 
-sal_uLong SafeReadString(ByteString &rStr,sal_uInt16 nLen,SvStream &rStrm)
-{
-    sal_uLong nWasRead=0;
-    if (nLen)
-    {
-        nWasRead = rStrm.Read( rStr.AllocBuffer( nLen ), nLen);
-        if( nWasRead != nLen )
-            rStr.ReleaseBufferAccess(static_cast<xub_StrLen>(nWasRead));
-    }
-    return nWasRead;
-}
-
 xub_StrLen WW8ScannerBase::WW8ReadString( SvStream& rStrm, String& rStr,
     WW8_CP nAktStartCp, long nTotalLen, rtl_TextEncoding eEnc ) const
 {
@@ -2018,9 +2006,8 @@ xub_StrLen WW8ScannerBase::WW8ReadString( SvStream& rStrm, String& rStr,
         else
         {
             // Alloc method automatically sets Zero at the end
-            ByteString aByteStr;
-            SafeReadString(aByteStr,(sal_uInt16)nLen,rStrm);
-            rStr += String( aByteStr, eEnc );
+            rtl::OString aByteStr = readBytesAsOString(rStrm, nLen);
+            rStr.Append(String(rtl::OStringToOUString(aByteStr, eEnc)));
         }
         nTotalRead  += nLen;
         nAktStartCp += nLen;
@@ -3923,9 +3910,8 @@ void WW8ReadSTTBF(bool bVer8, SvStream& rStrm, sal_uInt32 nStart, sal_Int32 nLen
                 {
                     sal_uInt8 nBChar(0);
                     rStrm >> nBChar;
-                    ByteString aTmp;
-                    SafeReadString(aTmp,nBChar,rStrm);
-                    rArray.push_back(String(aTmp, eCS));
+                    rtl::OString aTmp = readBytesAsOString(rStrm, nBChar);
+                    rArray.push_back(rtl::OStringToOUString(aTmp, eCS));
                 }
 
                 // Skip the extra data
@@ -3957,9 +3943,8 @@ void WW8ReadSTTBF(bool bVer8, SvStream& rStrm, sal_uInt32 nStart, sal_Int32 nLen
                     {
                         sal_uInt8 nBChar(0);
                         rStrm >> nBChar;
-                        ByteString aTmp;
-                        SafeReadString(aTmp,nBChar,rStrm);
-                        pValueArray->push_back(String(aTmp, eCS));
+                        rtl::OString aTmp = readBytesAsOString(rStrm, nBChar);
+                        pValueArray->push_back(rtl::OStringToOUString(aTmp, eCS));
                     }
                 }
             }
@@ -3984,9 +3969,9 @@ void WW8ReadSTTBF(bool bVer8, SvStream& rStrm, sal_uInt32 nStart, sal_Int32 nLen
                 ++nRead;
                 if (nBChar)
                 {
-                    ByteString aTmp;
-                    nRead += SafeReadString(aTmp,nBChar,rStrm);
-                    rArray.push_back(String(aTmp, eCS));
+                    rtl::OString aTmp = readBytesAsOString(rStrm, nBChar);
+                    nRead += aTmp.getLength();
+                    rArray.push_back(rtl::OStringToOUString(aTmp, eCS));
                 }
                 else
                     rArray.push_back(aEmptyStr);
diff --git a/sw/source/filter/ww8/ww8scan.hxx b/sw/source/filter/ww8/ww8scan.hxx
index 0a67f05..be90fff 100644
--- a/sw/source/filter/ww8/ww8scan.hxx
+++ b/sw/source/filter/ww8/ww8scan.hxx
@@ -1779,8 +1779,6 @@ void SwapQuotesInField(String &rFmt);
 Word2CHPX ReadWord2Chpx(SvStream &rSt, sal_Size nOffset, sal_uInt8 nSize);
 std::vector<sal_uInt8> ChpxToSprms(const Word2CHPX &rChpx);
 
-sal_uLong SafeReadString(ByteString &rStr,sal_uInt16 nLen,SvStream &rStrm);
-
 bool checkSeek(SvStream &rSt, sal_uInt32 nOffset)
     SAL_WARN_UNUSED_RESULT;
 
diff --git a/tools/CppunitTest_tools_test.mk b/tools/CppunitTest_tools_test.mk
index 5808e3a..c39f0a2 100644
--- a/tools/CppunitTest_tools_test.mk
+++ b/tools/CppunitTest_tools_test.mk
@@ -33,7 +33,7 @@ $(eval $(call gb_CppunitTest_CppunitTest,tools_test))
 $(eval $(call gb_CppunitTest_add_exception_objects,tools_test, \
     tools/qa/cppunit/test_reversemap \
     tools/qa/cppunit/test_pathutils \
-    tools/qa/cppunit/test_streamstate \
+    tools/qa/cppunit/test_stream \
 ))
 
 $(eval $(call gb_CppunitTest_add_api,tools_test, \
diff --git a/tools/Executable_tools_cppunittester_all.mk b/tools/Executable_tools_cppunittester_all.mk
index a5325f9..d2fd13b 100644
--- a/tools/Executable_tools_cppunittester_all.mk
+++ b/tools/Executable_tools_cppunittester_all.mk
@@ -59,7 +59,7 @@ $(eval $(call gb_Executable_add_exception_objects,tools_cppunittester_all, \
     tools/qa/cppunit/tools_cppunittester_all \
     tools/qa/cppunit/test_reversemap \
     tools/qa/cppunit/test_pathutils \
-    tools/qa/cppunit/test_streamstate \
+    tools/qa/cppunit/test_stream \
 ))
 
 $(eval $(call gb_Executable_add_api,tools_cppunittester_all, \
diff --git a/tools/inc/tools/stream.hxx b/tools/inc/tools/stream.hxx
index 5323e3c..baaf758 100644
--- a/tools/inc/tools/stream.hxx
+++ b/tools/inc/tools/stream.hxx
@@ -564,6 +564,10 @@ TOOLS_DLLPUBLIC SvStream& endlu( SvStream& rStr );
 /// call endlu() if eStreamCharSet==RTL_TEXTECODING_UNICODE otherwise endl()
 TOOLS_DLLPUBLIC SvStream& endlub( SvStream& rStr );
 
+//Attempt to read nSize bytes to an OString, returned rtl::OString's length is
+//number of bytes successfully read
+TOOLS_DLLPUBLIC rtl::OString readBytesAsOString(SvStream& rStr, sal_Size nSize);
+
 // --------------
 // - FileStream -
 // --------------
diff --git a/tools/qa/cppunit/test_stream.cxx b/tools/qa/cppunit/test_stream.cxx
new file mode 100644
index 0000000..ae098e5
--- /dev/null
+++ b/tools/qa/cppunit/test_stream.cxx
@@ -0,0 +1,148 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is
+ *        Caolán McNamara <caolanm at redhat.com> (Red Hat, Inc.)
+ * Portions created by the Initial Developer are Copyright (C) 2011 the
+ * Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s): Caolán McNamara <caolanm at redhat.com>
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#include "precompiled_tools.hxx"
+#include <sal/cppunit.h>
+
+#include <tools/stream.hxx>
+#include <sstream>
+
+//Tests for eofbit/badbit/goodbit/failbit
+
+namespace
+{
+
+    class Test: public CppUnit::TestFixture
+    {
+    public:
+        void test_stdstream();
+        void test_fastostring();
+
+        CPPUNIT_TEST_SUITE(Test);
+        CPPUNIT_TEST(test_stdstream);
+        CPPUNIT_TEST(test_fastostring);
+        CPPUNIT_TEST_SUITE_END();
+    };
+
+    void Test::test_stdstream()
+    {
+        char foo[] = "foo";
+        std::istringstream iss(foo, std::istringstream::in);
+        SvMemoryStream aMemStream(RTL_CONSTASCII_STRINGPARAM(foo), STREAM_READ);
+
+        char std_a(78);
+        iss >> std_a;
+        CPPUNIT_ASSERT(std_a == 'f');
+
+        char tools_a(78);
+        aMemStream >> tools_a;
+        CPPUNIT_ASSERT(std_a == 'f');
+
+        iss.seekg(0, std::ios_base::end);
+        //seeking to end doesn't set eof, reading past eof does
+        CPPUNIT_ASSERT(!iss.eof());
+        CPPUNIT_ASSERT(iss.good());
+
+        aMemStream.Seek(STREAM_SEEK_TO_END);
+        //seeking to end doesn't set eof, reading past eof does
+        CPPUNIT_ASSERT(!aMemStream.eof());
+        CPPUNIT_ASSERT(aMemStream.good());
+
+        std_a = 78;
+        iss >> std_a;
+        //so, now eof is set
+        CPPUNIT_ASSERT(iss.eof());
+        //a failed read doesn't change the data, it remains unchanged
+        CPPUNIT_ASSERT(std_a == 78);
+        //nothing wrong with the stream, so not bad
+        CPPUNIT_ASSERT(!iss.bad());
+        //yet, the read didn't succeed
+        CPPUNIT_ASSERT(!iss.good());
+        CPPUNIT_ASSERT(iss.rdstate() == (std::ios::failbit|std::ios::eofbit));
+
+        tools_a = 78;
+        aMemStream >> tools_a;
+        //so, now eof is set
+        CPPUNIT_ASSERT(aMemStream.eof());
+        //a failed read doesn't change the data, it remains unchanged
+        CPPUNIT_ASSERT(tools_a == 78);
+        //nothing wrong with the stream, so not bad
+        CPPUNIT_ASSERT(!aMemStream.GetError());
+        //yet, the read didn't succeed
+        CPPUNIT_ASSERT(!aMemStream.good());
+
+        //set things up so that there is only one byte available on an attempt
+        //to read a two-byte sal_uInt16.  The byte should be consumed, but the
+        //operation should fail, and tools_b should remain unchanged,
+        sal_uInt16 tools_b = 0x1122;
+        aMemStream.SeekRel(-1);
+        CPPUNIT_ASSERT(!aMemStream.eof());
+        CPPUNIT_ASSERT(aMemStream.good());
+        aMemStream >> tools_b;
+        CPPUNIT_ASSERT(!aMemStream.good());
+        CPPUNIT_ASSERT(aMemStream.eof());
+        CPPUNIT_ASSERT(tools_b == 0x1122);
+
+        iss.clear();
+        iss.seekg(0);
+        CPPUNIT_ASSERT(iss.good());
+        iss >> std_a;
+        CPPUNIT_ASSERT(std_a == 'f');
+
+        aMemStream.Seek(0);
+        CPPUNIT_ASSERT(aMemStream.good());
+        aMemStream >> tools_a;
+        CPPUNIT_ASSERT(tools_a == 'f');
+
+        //failbit is rather subtle wrt e.g seeks
+    }
+
+    void Test::test_fastostring()
+    {
+        char foo[] = "foobar";
+        SvMemoryStream aMemStream(RTL_CONSTASCII_STRINGPARAM(foo), STREAM_READ);
+
+        rtl::OString aOne = readBytesAsOString(aMemStream, 3);
+        CPPUNIT_ASSERT(aOne.equalsL(RTL_CONSTASCII_STRINGPARAM("foo")));
+
+        rtl::OString aTwo = readBytesAsOString(aMemStream, 3);
+        CPPUNIT_ASSERT(aTwo.equalsL(RTL_CONSTASCII_STRINGPARAM("bar")));
+
+        rtl::OString aThree = readBytesAsOString(aMemStream, 3);
+        CPPUNIT_ASSERT(!aThree.getLength());
+
+        aMemStream.Seek(0);
+
+        rtl::OString aFour = readBytesAsOString(aMemStream, 100);
+        CPPUNIT_ASSERT(aFour.equalsL(RTL_CONSTASCII_STRINGPARAM(foo)));
+    }
+
+    CPPUNIT_TEST_SUITE_REGISTRATION(Test);
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/tools/qa/cppunit/test_streamstate.cxx b/tools/qa/cppunit/test_streamstate.cxx
deleted file mode 100644
index 182ad6c..0000000
--- a/tools/qa/cppunit/test_streamstate.cxx
+++ /dev/null
@@ -1,126 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * Version: MPL 1.1 / GPLv3+ / LGPLv3+
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Initial Developer of the Original Code is
- *        Caolán McNamara <caolanm at redhat.com> (Red Hat, Inc.)
- * Portions created by the Initial Developer are Copyright (C) 2011 the
- * Initial Developer. All Rights Reserved.
- *
- * Contributor(s): Caolán McNamara <caolanm at redhat.com>
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
- * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
- * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
- * instead of those above.
- */
-
-#include "precompiled_tools.hxx"
-#include <sal/cppunit.h>
-
-#include <tools/stream.hxx>
-#include <sstream>
-
-//Tests for eofbit/badbit/goodbit/failbit
-
-namespace
-{
-
-    class Test: public CppUnit::TestFixture
-    {
-    public:
-        void test_stdstream();
-
-        CPPUNIT_TEST_SUITE(Test);
-        CPPUNIT_TEST(test_stdstream);
-        CPPUNIT_TEST_SUITE_END();
-    };
-
-    void Test::test_stdstream()
-    {
-        char foo[] = "foo";
-        std::istringstream iss(foo, std::istringstream::in);
-        SvMemoryStream aMemStream(RTL_CONSTASCII_STRINGPARAM(foo), STREAM_READ);
-
-        char std_a(78);
-        iss >> std_a;
-        CPPUNIT_ASSERT(std_a == 'f');
-
-        char tools_a(78);
-        aMemStream >> tools_a;
-        CPPUNIT_ASSERT(std_a == 'f');
-
-        iss.seekg(0, std::ios_base::end);
-        //seeking to end doesn't set eof, reading past eof does
-        CPPUNIT_ASSERT(!iss.eof());
-        CPPUNIT_ASSERT(iss.good());
-
-        aMemStream.Seek(STREAM_SEEK_TO_END);
-        //seeking to end doesn't set eof, reading past eof does
-        CPPUNIT_ASSERT(!aMemStream.eof());
-        CPPUNIT_ASSERT(aMemStream.good());
-
-        std_a = 78;
-        iss >> std_a;
-        //so, now eof is set
-        CPPUNIT_ASSERT(iss.eof());
-        //a failed read doesn't change the data, it remains unchanged
-        CPPUNIT_ASSERT(std_a == 78);
-        //nothing wrong with the stream, so not bad
-        CPPUNIT_ASSERT(!iss.bad());
-        //yet, the read didn't succeed
-        CPPUNIT_ASSERT(!iss.good());
-        CPPUNIT_ASSERT(iss.rdstate() == (std::ios::failbit|std::ios::eofbit));
-
-        tools_a = 78;
-        aMemStream >> tools_a;
-        //so, now eof is set
-        CPPUNIT_ASSERT(aMemStream.eof());
-        //a failed read doesn't change the data, it remains unchanged
-        CPPUNIT_ASSERT(tools_a == 78);
-        //nothing wrong with the stream, so not bad
-        CPPUNIT_ASSERT(!aMemStream.GetError());
-        //yet, the read didn't succeed
-        CPPUNIT_ASSERT(!aMemStream.good());
-
-        //set things up so that there is only one byte available on an attempt
-        //to read a two-byte sal_uInt16.  The byte should be consumed, but the
-        //operation should fail, and tools_b should remain unchanged,
-        sal_uInt16 tools_b = 0x1122;
-        aMemStream.SeekRel(-1);
-        CPPUNIT_ASSERT(!aMemStream.eof());
-        CPPUNIT_ASSERT(aMemStream.good());
-        aMemStream >> tools_b;
-        CPPUNIT_ASSERT(!aMemStream.good());
-        CPPUNIT_ASSERT(aMemStream.eof());
-        CPPUNIT_ASSERT(tools_b == 0x1122);
-
-        iss.clear();
-        iss.seekg(0);
-        CPPUNIT_ASSERT(iss.good());
-        iss >> std_a;
-        CPPUNIT_ASSERT(std_a == 'f');
-
-        aMemStream.Seek(0);
-        CPPUNIT_ASSERT(aMemStream.good());
-        aMemStream >> tools_a;
-        CPPUNIT_ASSERT(tools_a == 'f');
-
-        //failbit is rather subtle wrt e.g seeks
-    }
-
-    CPPUNIT_TEST_SUITE_REGISTRATION(Test);
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/tools/source/stream/stream.cxx b/tools/source/stream/stream.cxx
index a1f5539..312cd5f 100644
--- a/tools/source/stream/stream.cxx
+++ b/tools/source/stream/stream.cxx
@@ -43,6 +43,7 @@
 
 #include <tools/solar.h>
 
+#include <comphelper/string.hxx>
 
 #define SWAPNIBBLES(c)      \
 unsigned char nSwapTmp=c;   \
@@ -2473,4 +2474,31 @@ void SvDataCopyStream::Assign( const SvDataCopyStream& )
 {
 }
 
+//Create a OString of nSize bytes from rStream
+rtl::OString readBytesAsOString(SvStream& rStrm, sal_Size nSize)
+{
+    using comphelper::string::rtl_string_alloc;
+
+    rtl_String *pStr = NULL;
+    if (nSize)
+    {
+        nSize = std::min(nSize, static_cast<sal_Size>(SAL_MAX_INT32));
+        //alloc a (ref-count 1) rtl_String of the desired length.
+        //rtl_String's buffer is uninitialized, except for null termination
+        pStr = rtl_string_alloc(sal::static_int_cast<sal_Int32>(nSize));
+        sal_Size nWasRead = rStrm.Read(pStr->buffer, nSize);
+        if (nWasRead != nSize)
+        {
+            //on (typically unlikely) short read set length to what we could
+            //read, and null terminate. Excess buffer capacity remains of
+            //course, could create a (true) replacement OString if it matters.
+            pStr->length = sal::static_int_cast<sal_Int32>(nWasRead);
+            pStr->buffer[pStr->length] = 0;
+        }
+    }
+
+    //take ownership of buffer and return, otherwise return empty string
+    return pStr ? rtl::OString(pStr, SAL_NO_ACQUIRE) : rtl::OString();
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 088e175776fe0fa37c859b68278f5d4304d7ddd6
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Sep 1 23:44:10 2011 +0100

    add a public __sal_NoAcquire to OString to match OUString's

diff --git a/sal/inc/rtl/string.hxx b/sal/inc/rtl/string.hxx
index 9183d0d..96ca406 100644
--- a/sal/inc/rtl/string.hxx
+++ b/sal/inc/rtl/string.hxx
@@ -117,6 +117,16 @@ public:
         rtl_string_acquire( pData );
     }
 
+    /** New string from OString data without acquiring it.  Takeover of ownership.
+
+      @param    str         a OString data.
+      @param    dummy       SAL_NO_ACQUIRE to distinguish from other ctors
+    */
+    inline OString( rtl_String * str, __sal_NoAcquire ) SAL_THROW(())
+    {
+        pData = str;
+    }
+
     /**
       New string from a single character.
 
diff --git a/sal/inc/rtl/ustring.hxx b/sal/inc/rtl/ustring.hxx
index 3cdf121..ed268d9 100644
--- a/sal/inc/rtl/ustring.hxx
+++ b/sal/inc/rtl/ustring.hxx
@@ -117,6 +117,7 @@ public:
         pData = str;
         rtl_uString_acquire( pData );
     }
+
     /** New OUString from OUString data without acquiring it.  Takeover of ownership.
 
         @param str
@@ -127,7 +128,6 @@ public:
     inline OUString( rtl_uString * str, __sal_NoAcquire ) SAL_THROW( () )
         { pData = str; }
 
-
     /**
       New string from a single Unicode character.
 
commit cd9038dd398db0710273e4be5fb5310ec2f2c642
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Sep 1 23:32:48 2011 +0100

    move to comphelper, and rename

diff --git a/comphelper/inc/comphelper/string.hxx b/comphelper/inc/comphelper/string.hxx
index 0fadc73..c7f29f6 100644
--- a/comphelper/inc/comphelper/string.hxx
+++ b/comphelper/inc/comphelper/string.hxx
@@ -46,6 +46,72 @@ namespace rtl { class OUString; }
 // go into the stable URE API:
 namespace comphelper { namespace string {
 
+namespace detail
+{
+    template <typename T, typename U> T* string_alloc(sal_Int32 nLen)
+    {
+        //Clearly this is somewhat cosy with the sal implmentation
+
+        //rtl_[u]String contains U buffer[1], so an input of nLen
+        //allocates a buffer of nLen + 1 and we'll ensure a null termination
+        T *newStr = (T*)rtl_allocateMemory(sizeof(T) + sizeof(U) * nLen);
+        newStr->refCount = 1;
+        newStr->length = nLen;
+        newStr->buffer[nLen]=0;
+        return newStr;
+    }
+}
+
+/** Allocate a new string containing space for a given number of characters.
+
+    The reference count of the new string will be 1. The length of the string
+    will be nLen. This function does not handle out-of-memory conditions.
+
+    The characters of the capacity are not cleared, and the length is set to
+    nLen, unlike the similar method of rtl_uString_new_WithLength which
+    zeros out the buffer, and sets the length to 0. So should be somewhat
+    more efficient for allocating a new string.
+
+    call rtl_uString_release to release the string
+    alternatively pass ownership to an OUString with
+    rtl::OUString(newStr, SAL_NO_ACQUIRE);
+
+    @param newStr
+    pointer to the new string.
+
+    @param len
+    the number of characters.
+ */
+COMPHELPER_DLLPUBLIC inline rtl_uString * SAL_CALL rtl_uString_alloc(sal_Int32 nLen)
+{
+    return detail::string_alloc<rtl_uString, sal_Unicode>(nLen);
+}
+
+/** Allocate a new string containing space for a given number of characters.
+
+    The reference count of the new string will be 1. The length of the string
+    will be nLen. This function does not handle out-of-memory conditions.
+
+    The characters of the capacity are not cleared, and the length is set to
+    nLen, unlike the similar method of rtl_String_new_WithLength which
+    zeros out the buffer, and sets the length to 0. So should be somewhat
+    more efficient for allocating a new string.
+
+    call rtl_String_release to release the string
+    alternatively pass ownership to an OUString with
+    rtl::OUString(newStr, SAL_NO_ACQUIRE);
+
+    @param newStr
+    pointer to the new string.
+
+    @param len
+    the number of characters.
+ */
+COMPHELPER_DLLPUBLIC inline rtl_String * SAL_CALL rtl_string_alloc(sal_Int32 nLen)
+{
+    return detail::string_alloc<rtl_String, sal_Char>(nLen);
+}
+
 /**
    Replace the first occurrence of a substring with another string.
 
diff --git a/i18npool/inc/transliteration_commonclass.hxx b/i18npool/inc/transliteration_commonclass.hxx
index af5d189..826e736 100644
--- a/i18npool/inc/transliteration_commonclass.hxx
+++ b/i18npool/inc/transliteration_commonclass.hxx
@@ -33,7 +33,6 @@
 #include <cppuhelper/implbase1.hxx>
 #include <rtl/ustrbuf.h>
 #include <rtl/ustring.hxx>
-#include <i18nutil/x_rtl_ustring.h>
 
 namespace com { namespace sun { namespace star { namespace i18n {
 
diff --git a/i18npool/source/characterclassification/cclass_unicode.cxx b/i18npool/source/characterclassification/cclass_unicode.cxx
index 9acdd9b..f0fde59 100644
--- a/i18npool/source/characterclassification/cclass_unicode.cxx
+++ b/i18npool/source/characterclassification/cclass_unicode.cxx
@@ -34,7 +34,7 @@
 #include <com/sun/star/i18n/UnicodeType.hpp>
 #include <com/sun/star/i18n/KCharacterType.hpp>
 #include <unicode/uchar.h>
-#include <i18nutil/x_rtl_ustring.h>
+#include <comphelper/string.hxx>
 #include <breakiteratorImpl.hxx>
 
 using namespace ::com::sun::star::uno;
@@ -99,7 +99,7 @@ cclass_Unicode::toTitle( const OUString& Text, sal_Int32 nPos, sal_Int32 nCount,
         nCount = len - nPos;
 
     trans->setMappingType(MappingTypeToTitle, rLocale);
-    rtl_uString* pStr = x_rtl_uString_new_WithLength(nCount);
+    rtl_uString* pStr = comphelper::string::rtl_uString_alloc(nCount);
     sal_Unicode* out = pStr->buffer;
     BreakIteratorImpl brk(xMSF);
     Boundary bdy = brk.getWordBoundary(Text, nPos, rLocale,
diff --git a/i18npool/source/nativenumber/nativenumbersupplier.cxx b/i18npool/source/nativenumber/nativenumbersupplier.cxx
index 6d0a1d4..8dbefdc 100644
--- a/i18npool/source/nativenumber/nativenumbersupplier.cxx
+++ b/i18npool/source/nativenumber/nativenumbersupplier.cxx
@@ -34,7 +34,7 @@
 #include <nativenumbersupplier.hxx>
 #include <localedata.hxx>
 #include <data/numberchar.h>
-#include <i18nutil/x_rtl_ustring.h>
+#include <comphelper/string.hxx>
 
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::lang;
@@ -79,7 +79,7 @@ OUString SAL_CALL AsciiToNativeChar( const OUString& inStr, sal_Int32 startPos,
         Sequence< sal_Int32 >& offset, sal_Bool useOffset, sal_Int16 number ) throw(RuntimeException)
 {
         const sal_Unicode *src = inStr.getStr() + startPos;
-        rtl_uString *newStr = x_rtl_uString_new_WithLength(nCount);
+        rtl_uString *newStr = comphelper::string::rtl_uString_alloc(nCount);
         if (useOffset)
             offset.realloc(nCount);
 
diff --git a/i18npool/source/textconversion/textconversion_ko.cxx b/i18npool/source/textconversion/textconversion_ko.cxx
index 9cdc070..9a743e8 100644
--- a/i18npool/source/textconversion/textconversion_ko.cxx
+++ b/i18npool/source/textconversion/textconversion_ko.cxx
@@ -35,7 +35,6 @@
 #include <com/sun/star/linguistic2/ConversionDirection.hpp>
 #include <com/sun/star/linguistic2/ConversionDictionaryType.hpp>
 #include <rtl/ustrbuf.hxx>
-#include <i18nutil/x_rtl_ustring.h>
 #include <unicode/uchar.h>
 
 using namespace com::sun::star::lang;
diff --git a/i18npool/source/textconversion/textconversion_zh.cxx b/i18npool/source/textconversion/textconversion_zh.cxx
index 507f102..bbe6b5d 100644
--- a/i18npool/source/textconversion/textconversion_zh.cxx
+++ b/i18npool/source/textconversion/textconversion_zh.cxx
@@ -35,7 +35,7 @@
 #include <com/sun/star/i18n/TextConversionOption.hpp>
 #include <com/sun/star/linguistic2/ConversionDirection.hpp>
 #include <com/sun/star/linguistic2/ConversionDictionaryType.hpp>
-#include <i18nutil/x_rtl_ustring.h>
+#include <comphelper/string.hxx>
 
 using namespace com::sun::star::lang;
 using namespace com::sun::star::i18n;
@@ -86,7 +86,7 @@ TextConversion_zh::getCharConversion(const OUString& aText, sal_Int32 nStartPos,
         Index = ((const sal_uInt16* (*)())getFunctionBySymbol("getSTC_CharIndex_S2T"))();
     }
 
-    rtl_uString * newStr = x_rtl_uString_new_WithLength(nLength);
+    rtl_uString * newStr = comphelper::string::rtl_uString_alloc(nLength);
     for (sal_Int32 i = 0; i < nLength; i++)
         newStr->buffer[i] =
             getOneCharConversion(aText[nStartPos+i], Data, Index);
diff --git a/i18npool/source/transliteration/ignoreIandEfollowedByYa_ja_JP.cxx b/i18npool/source/transliteration/ignoreIandEfollowedByYa_ja_JP.cxx
index 15395d4..bcc25f8 100644
--- a/i18npool/source/transliteration/ignoreIandEfollowedByYa_ja_JP.cxx
+++ b/i18npool/source/transliteration/ignoreIandEfollowedByYa_ja_JP.cxx
@@ -29,9 +29,8 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_i18npool.hxx"
 
-// prevent internal compiler error with MSVC6SP3
 #include <utility>
-
+#include <comphelper/string.hxx>
 #include <i18nutil/oneToOneMapping.hxx>
 #define TRANSLITERATION_IandEfollowedByYa_ja_JP
 #include <transliteration_Ignore.hxx>
@@ -88,7 +87,7 @@ ignoreIandEfollowedByYa_ja_JP::folding( const OUString& inStr, sal_Int32 startPo
 {
     // Create a string buffer which can hold nCount + 1 characters.
     // The reference count is 1 now.
-    rtl_uString * newStr = x_rtl_uString_new_WithLength(nCount);
+    rtl_uString * newStr = comphelper::string::rtl_uString_alloc(nCount);
     sal_Unicode * dst = newStr->buffer;
     const sal_Unicode * src = inStr.getStr() + startPos;
 
diff --git a/i18npool/source/transliteration/ignoreIterationMark_ja_JP.cxx b/i18npool/source/transliteration/ignoreIterationMark_ja_JP.cxx
index cc79da1..8d28c82 100644
--- a/i18npool/source/transliteration/ignoreIterationMark_ja_JP.cxx
+++ b/i18npool/source/transliteration/ignoreIterationMark_ja_JP.cxx
@@ -29,9 +29,8 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_i18npool.hxx"
 
-// prevent internal compiler error with MSVC6SP3
 #include <utility>
-
+#include <comphelper/string.hxx>
 #include <i18nutil/oneToOneMapping.hxx>
 #define TRANSLITERATION_IterationMark_ja_JP
 #include <transliteration_Ignore.hxx>
@@ -103,7 +102,7 @@ ignoreIterationMark_ja_JP::folding( const OUString& inStr, sal_Int32 startPos, s
 
     // Create a string buffer which can hold nCount + 1 characters.
     // The reference count is 1 now.
-    rtl_uString * newStr = x_rtl_uString_new_WithLength(nCount);
+    rtl_uString * newStr = comphelper::string::rtl_uString_alloc(nCount);
     sal_Unicode * dst = newStr->buffer;
     const sal_Unicode * src = inStr.getStr() + startPos;
 
diff --git a/i18npool/source/transliteration/ignoreKiKuFollowedBySa_ja_JP.cxx b/i18npool/source/transliteration/ignoreKiKuFollowedBySa_ja_JP.cxx
index 57abcff..f27e02e 100644
--- a/i18npool/source/transliteration/ignoreKiKuFollowedBySa_ja_JP.cxx
+++ b/i18npool/source/transliteration/ignoreKiKuFollowedBySa_ja_JP.cxx
@@ -29,9 +29,8 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_i18npool.hxx"
 
-// prevent internal compiler error with MSVC6SP3
 #include <utility>
-
+#include <comphelper/string.hxx>
 #define TRANSLITERATION_KiKuFollowedBySa_ja_JP
 #include <transliteration_Ignore.hxx>
 
@@ -48,7 +47,7 @@ ignoreKiKuFollowedBySa_ja_JP::folding( const OUString& inStr, sal_Int32 startPos
 {
     // Create a string buffer which can hold nCount + 1 characters.
     // The reference count is 1 now.
-    rtl_uString * newStr = x_rtl_uString_new_WithLength(nCount);
+    rtl_uString * newStr = comphelper::string::rtl_uString_alloc(nCount);
     sal_Unicode * dst = newStr->buffer;
     const sal_Unicode * src = inStr.getStr() + startPos;
 
diff --git a/i18npool/source/transliteration/ignoreProlongedSoundMark_ja_JP.cxx b/i18npool/source/transliteration/ignoreProlongedSoundMark_ja_JP.cxx
index fd309ec..85dcdb4 100644
--- a/i18npool/source/transliteration/ignoreProlongedSoundMark_ja_JP.cxx
+++ b/i18npool/source/transliteration/ignoreProlongedSoundMark_ja_JP.cxx
@@ -29,9 +29,8 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_i18npool.hxx"
 
-// prevent internal compiler error with MSVC6SP3
 #include <utility>
-
+#include <comphelper/string.hxx>
 #define TRANSLITERATION_ProlongedSoundMark_ja_JP
 #include <transliteration_Ignore.hxx>
 
@@ -310,7 +309,7 @@ ignoreProlongedSoundMark_ja_JP::folding( const OUString& inStr, sal_Int32 startP
 {
     // Create a string buffer which can hold nCount + 1 characters.
     // The reference count is 1 now.
-    rtl_uString * newStr = x_rtl_uString_new_WithLength(nCount);
+    rtl_uString * newStr = comphelper::string::rtl_uString_alloc(nCount);
     sal_Unicode * dst = newStr->buffer;
     const sal_Unicode * src = inStr.getStr() + startPos;
 
diff --git a/i18npool/source/transliteration/transliteration_Ignore.cxx b/i18npool/source/transliteration/transliteration_Ignore.cxx
index 3d81272..0d60b28 100644
--- a/i18npool/source/transliteration/transliteration_Ignore.cxx
+++ b/i18npool/source/transliteration/transliteration_Ignore.cxx
@@ -29,9 +29,8 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_i18npool.hxx"
 
-// prevent internal compiler error with MSVC6SP3
 #include <utility>
-
+#include <comphelper/string.hxx>
 #include <transliteration_Ignore.hxx>
 
 using namespace com::sun::star::uno;
@@ -138,7 +137,7 @@ transliteration_Ignore::folding( const OUString& inStr, sal_Int32 startPos,
 {
     // Create a string buffer which can hold nCount + 1 characters.
     // The reference count is 1 now.
-    rtl_uString * newStr = x_rtl_uString_new_WithLength(nCount);
+    rtl_uString * newStr = comphelper::string::rtl_uString_alloc(nCount);
     sal_Unicode * dst = newStr->buffer;
     const sal_Unicode * src = inStr.getStr() + startPos;
 
diff --git a/i18npool/source/transliteration/transliteration_Numeric.cxx b/i18npool/source/transliteration/transliteration_Numeric.cxx
index f2250fb..9ef5cd5 100644
--- a/i18npool/source/transliteration/transliteration_Numeric.cxx
+++ b/i18npool/source/transliteration/transliteration_Numeric.cxx
@@ -32,6 +32,7 @@
 #include <transliteration_Numeric.hxx>
 #include <nativenumbersupplier.hxx>
 #include <defaultnumberingprovider.hxx>
+#include <comphelper/string.hxx>
 
 using namespace com::sun::star::uno;
 
@@ -78,7 +79,7 @@ transliteration_Numeric::transliterateBullet( const OUString& inStr, sal_Int32 s
         if (endPos >  inStr.getLength())
             endPos = inStr.getLength();
 
-        rtl_uString* pStr = x_rtl_uString_new_WithLength(nCount);
+        rtl_uString* pStr = comphelper::string::rtl_uString_alloc(nCount);
         sal_Unicode* out = pStr->buffer;
 
         if (useOffset)
diff --git a/i18npool/source/transliteration/transliteration_OneToOne.cxx b/i18npool/source/transliteration/transliteration_OneToOne.cxx
index 26f0732..95c7318 100644
--- a/i18npool/source/transliteration/transliteration_OneToOne.cxx
+++ b/i18npool/source/transliteration/transliteration_OneToOne.cxx
@@ -29,9 +29,8 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_i18npool.hxx"
 
-// prevent internal compiler error with MSVC6SP3
 #include <utility>
-
+#include <comphelper/string.hxx>
 #include <transliteration_OneToOne.hxx>
 
 using namespace com::sun::star::uno;
@@ -75,7 +74,7 @@ transliteration_OneToOne::transliterate( const OUString& inStr, sal_Int32 startP
 {
     // Create a string buffer which can hold nCount + 1 characters.
     // The reference count is 1 now.
-    rtl_uString * newStr = x_rtl_uString_new_WithLength(nCount);
+    rtl_uString * newStr = comphelper::string::rtl_uString_alloc(nCount);
     sal_Unicode * dst = newStr->buffer;
     const sal_Unicode * src = inStr.getStr() + startPos;
 
diff --git a/i18npool/source/transliteration/transliteration_body.cxx b/i18npool/source/transliteration/transliteration_body.cxx
index 294f0a1..dcc659a 100644
--- a/i18npool/source/transliteration/transliteration_body.cxx
+++ b/i18npool/source/transliteration/transliteration_body.cxx
@@ -34,6 +34,7 @@
 #include <i18nutil/unicode.hxx>
 
 #include <comphelper/processfactory.hxx>
+#include <comphelper/string.hxx>
 #include <osl/diagnose.h>
 
 #include <string.h>
@@ -129,7 +130,7 @@ Transliteration_body::transliterate(
             const Mapping &map = casefolding::getValue( in, i, nCount, aLocale, nTmpMappingType );
             nOffCount += map.nmap;
         }
-        rtl_uString* pStr = x_rtl_uString_new_WithLength(nOffCount);
+        rtl_uString* pStr = comphelper::string::rtl_uString_alloc(nOffCount);
         sal_Unicode* out = pStr->buffer;
 
         if ( nOffCount != offset.getLength() )
@@ -199,7 +200,7 @@ OUString SAL_CALL
 Transliteration_body::transliterateChar2String( sal_Unicode inChar ) throw(RuntimeException)
 {
         const Mapping &map = casefolding::getValue(&inChar, 0, 1, aLocale, nMappingType);
-        rtl_uString* pStr = x_rtl_uString_new_WithLength(map.nmap);
+        rtl_uString* pStr = comphelper::string::rtl_uString_alloc(map.nmap);
         sal_Unicode* out = pStr->buffer;
         sal_Int32 i;
 
diff --git a/i18nutil/Package_inc.mk b/i18nutil/Package_inc.mk
index 05425d7..92a9e71 100644
--- a/i18nutil/Package_inc.mk
+++ b/i18nutil/Package_inc.mk
@@ -32,6 +32,5 @@ $(eval $(call gb_Package_add_file,i18nutil_inc,inc/i18nutil/casefolding.hxx,i18n
 $(eval $(call gb_Package_add_file,i18nutil_inc,inc/i18nutil/oneToOneMapping.hxx,i18nutil/oneToOneMapping.hxx))
 $(eval $(call gb_Package_add_file,i18nutil_inc,inc/i18nutil/unicode.hxx,i18nutil/unicode.hxx))
 $(eval $(call gb_Package_add_file,i18nutil_inc,inc/i18nutil/widthfolding.hxx,i18nutil/widthfolding.hxx))
-$(eval $(call gb_Package_add_file,i18nutil_inc,inc/i18nutil/x_rtl_ustring.h,i18nutil/x_rtl_ustring.h))
 
 # vim: set noet sw=4:
diff --git a/i18nutil/prj/build.lst b/i18nutil/prj/build.lst
index 67296ad..29a5aed 100644
--- a/i18nutil/prj/build.lst
+++ b/i18nutil/prj/build.lst
@@ -1,2 +1,2 @@
-inu  i18nutil    :   sal cppu offapi NULL
+inu  i18nutil    :   sal cppu comphelper offapi NULL
 inu  i18nutil\prj       nmake   -   all inu_prj NULL
diff --git a/i18nutil/source/utility/widthfolding.cxx b/i18nutil/source/utility/widthfolding.cxx
index edfe573..ebcd4c2 100644
--- a/i18nutil/source/utility/widthfolding.cxx
+++ b/i18nutil/source/utility/widthfolding.cxx
@@ -29,7 +29,7 @@
 // prevent internal compiler error with MSVC6SP3
 #include <utility>
 #include <i18nutil/widthfolding.hxx>
-#include <i18nutil/x_rtl_ustring.h>
+#include <comphelper/string.hxx>
 #include "widthfolding_data.h"
 
 using namespace com::sun::star::uno;
@@ -56,7 +56,7 @@ OUString widthfolding::decompose_ja_voiced_sound_marks (const OUString& inStr, s
   // Create a string buffer which can hold nCount * 2 + 1 characters.
   // Its size may become double of nCount.
   // The reference count is 1 now.
-  rtl_uString * newStr = x_rtl_uString_new_WithLength(nCount * 2);
+  rtl_uString * newStr = comphelper::string::rtl_uString_alloc(nCount * 2);
 
   sal_Int32 *p = NULL;
   sal_Int32 position = 0;
@@ -118,7 +118,7 @@ OUString widthfolding::compose_ja_voiced_sound_marks (const OUString& inStr, sal
   // Create a string buffer which can hold nCount + 1 characters.
   // Its size may become equal to nCount or smaller.
   // The reference count is 1 now.
-  rtl_uString * newStr = x_rtl_uString_new_WithLength(nCount);
+  rtl_uString * newStr = comphelper::string::rtl_uString_alloc(nCount);
 
   // Prepare pointers of unicode character arrays.
   const sal_Unicode* src = inStr.getStr() + startPos;
commit a2d55e1869a37247549dc6d126e4cfbbf98ef024
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Sep 1 23:30:35 2011 +0100

    update list

diff --git a/unusedcode.easy b/unusedcode.easy
index 13107bb..5eadbd2 100644
--- a/unusedcode.easy
+++ b/unusedcode.easy
@@ -3099,6 +3099,10 @@ utl::OConfigurationTreeRoot::OConfigurationTreeRoot(comphelper::ComponentContext
 utl::OConfigurationValueContainer::OConfigurationValueContainer(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> const&, osl::Mutex&, rtl::OUString const&, unsigned short, int)
 utl::OConfigurationValueContainer::getServiceFactory() const
 utl::OConfigurationValueContainer::registerNullValueExchangeLocation(char const*, com::sun::star::uno::Any*)
+utl::PropertySetHelper::PropertySetHelper(utl::PropertySetInfo*)
+utl::PropertySetInfo::PropertySetInfo()
+utl::PropertySetInfo::add(utl::PropertyMapEntry*)
+utl::PropertySetInfo::remove(rtl::OUString const&)
 utl::TransliterationWrapper::compareSubstring(String const&, int, int, String const&, int, int) const
 vbahelper::CollectionBase::CollectionBase(com::sun::star::uno::Type const&)
 vbahelper::CollectionBase::getAnyItemOrThis(com::sun::star::uno::Any const&)
@@ -3134,6 +3138,11 @@ vcl::RenderGraphic::RenderGraphic(boost::shared_array<unsigned char> const&, uns
 vcl::RowOrColumn::remove(Window*)
 vcl::RowOrColumn::remove(boost::shared_ptr<vcl::WindowArranger> const&)
 void ScCompressedArrayIterator<int, unsigned short>::Follow<unsigned char>(ScCompressedArrayIterator<int, unsigned char> const&)
+writerfilter::TagLogger::attribute(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, com::sun::star::uno::Any)
+writerfilter::TagLogger::attribute(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int)
+writerfilter::TagLogger::chars(rtl::OUString const&)
+writerfilter::TagLogger::endElement()
+writerfilter::TagLogger::startElement(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
 writerfilter::TagLogger::~TagLogger()
 writerfilter::XPathLogger::XPathLogger()
 writerfilter::XPathLogger::endElement()


More information about the Libreoffice-commits mailing list