summaryrefslogtreecommitdiff
path: root/sw/source/filter/ww1
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2011-09-13 21:28:44 +0100
committerCaolán McNamara <caolanm@redhat.com>2011-09-14 09:54:09 +0100
commit1cd1e4a3c69c135dd068f0c9c0971a2a0c8ce300 (patch)
tree33784bfe83f14e1b529e8b20be2f3c33eeb01516 /sw/source/filter/ww1
parent84db1411771d364ed5467d84d3f22222d46ba638 (diff)
use read_uInt8s_AsOString here
Diffstat (limited to 'sw/source/filter/ww1')
-rw-r--r--sw/source/filter/ww1/w1class.cxx14
1 files changed, 8 insertions, 6 deletions
diff --git a/sw/source/filter/ww1/w1class.cxx b/sw/source/filter/ww1/w1class.cxx
index 1648b906eef2..2e826e364aa7 100644
--- a/sw/source/filter/ww1/w1class.cxx
+++ b/sw/source/filter/ww1/w1class.cxx
@@ -81,13 +81,15 @@ sal_Unicode Ww1PlainText::operator [] ( sal_uLong ulOffset )
String Ww1PlainText::GetText( sal_uLong ulOffset, sal_uLong nLen ) const
{
- String sRet;
- ByteString aStr;
OSL_ENSURE(ulOffset+nLen<Count(), "Ww1PlainText");
- if( rFib.GetStream().Seek(ulFilePos+ulOffset) == ulFilePos+ulOffset &&
- rFib.GetStream().Read( aStr.AllocBuffer( static_cast< xub_StrLen >(nLen) ), nLen ) == nLen )
- sRet = String( aStr, RTL_TEXTENCODING_MS_1252 );
- return sRet;
+
+ sal_Size nPos = ulFilePos+ulOffset;
+
+ bool bSeekOk = rFib.GetStream().Seek(nPos) == nPos;
+ rtl::OString a8BitStr = bSeekOk ?
+ read_uInt8s_AsOString(rFib.GetStream(), nLen) :
+ rtl::OString();
+ return rtl::OStringToOUString(a8BitStr, RTL_TEXTENCODING_MS_1252);
}
///////////////////////////////////////////////////////////////// Style