summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-01-13 15:09:23 +0000
committerCaolán McNamara <caolanm@redhat.com>2012-01-13 16:46:31 +0000
commita55ae5fde1cbd8c29f8aa3a66a4d362355a3062c (patch)
treefbdfb6193f1b1e994cecf872219d6651f990f508
parent4a68a5f32bcc815b116063e6c047397ed9a3e241 (diff)
just return the read string here instead of passing one in by ref
-rw-r--r--filter/inc/filter/msfilter/msdffimp.hxx2
-rw-r--r--filter/source/msfilter/msdffimp.cxx54
-rw-r--r--filter/source/msfilter/svdfppt.cxx13
-rw-r--r--sd/source/filter/ppt/pptinanimations.cxx4
-rw-r--r--svx/workben/msview/xmlconfig.cxx3
5 files changed, 37 insertions, 39 deletions
diff --git a/filter/inc/filter/msfilter/msdffimp.hxx b/filter/inc/filter/msfilter/msdffimp.hxx
index f41fcd32ab86..4e4021deca89 100644
--- a/filter/inc/filter/msfilter/msdffimp.hxx
+++ b/filter/inc/filter/msfilter/msdffimp.hxx
@@ -588,7 +588,7 @@ public:
bool SeekToRec( SvStream& rSt, sal_uInt16 nRecId, sal_uLong nMaxFilePos, DffRecordHeader* pRecHd = NULL, sal_uLong nSkipCount = 0 ) const;
bool SeekToRec2( sal_uInt16 nRecId1, sal_uInt16 nRecId2, sal_uLong nMaxFilePos, DffRecordHeader* pRecHd = NULL, sal_uLong nSkipCount = 0 ) const;
- static void MSDFFReadZString( SvStream& rIn, String& rStr, sal_uLong nMaxLen, bool bUniCode = sal_False );
+ static rtl::OUString MSDFFReadZString( SvStream& rIn, sal_uLong nMaxLen, bool bUniCode = sal_False );
static bool ReadCommonRecordHeader(DffRecordHeader& rRec, SvStream& rIn)
SAL_WARN_UNUSED_RESULT;
diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx
index 80e4ecbea93f..361fe74a6b86 100644
--- a/filter/source/msfilter/msdffimp.cxx
+++ b/filter/source/msfilter/msdffimp.cxx
@@ -3745,7 +3745,7 @@ rtl::OUString SvxMSDffManager::ReadDffString(SvStream& rSt, DffRecordHeader aStr
{
bool bUniCode=aStrHd.nRecType==DFF_PST_TextCharsAtom;
sal_uLong nBytes = aStrHd.nRecLen;
- MSDFFReadZString( rSt, aRet, nBytes, bUniCode );
+ aRet = MSDFFReadZString( rSt, nBytes, bUniCode );
if( !bUniCode )
{
for ( xub_StrLen n = 0; n < nBytes; n++ )
@@ -4005,36 +4005,34 @@ bool SvxMSDffManager::ReadObjText(SvStream& rSt, SdrObject* pObj)
}
//static
-void SvxMSDffManager::MSDFFReadZString( SvStream& rIn, String& rStr,
- sal_uLong nRecLen, bool bUniCode )
+rtl::OUString SvxMSDffManager::MSDFFReadZString(SvStream& rIn,
+ sal_uLong nRecLen, bool bUniCode)
{
sal_uInt16 nLen = (sal_uInt16)nRecLen;
- if( nLen )
- {
- String sBuf;
+ if (!nLen)
+ return rtl::OUString();
- if( bUniCode )
- {
- nLen >>= 1;
+ String sBuf;
+
+ if( bUniCode )
+ {
+ nLen >>= 1;
- sal_Unicode* pBuf = sBuf.AllocBuffer(nLen);
- rIn.Read( (sal_Char*)pBuf, nLen << 1 );
+ sal_Unicode* pBuf = sBuf.AllocBuffer(nLen);
+ rIn.Read( (sal_Char*)pBuf, nLen << 1 );
#ifdef OSL_BIGENDIAN
- for( sal_uInt16 n = 0; n < nLen; ++n, ++pBuf )
- *pBuf = SWAPSHORT( *pBuf );
+ for( sal_uInt16 n = 0; n < nLen; ++n, ++pBuf )
+ *pBuf = SWAPSHORT( *pBuf );
#endif // ifdef OSL_BIGENDIAN
- }
- else
- {
- boost::scoped_array<sal_Char> xBuffer(new sal_Char[nLen]);
- nLen = rIn.Read(xBuffer.get(), nLen);
- sBuf = rtl::OUString(xBuffer.get(), nLen, RTL_TEXTENCODING_MS_1252);
- }
-
- rStr = sBuf.EraseTrailingChars( 0 );
}
else
- rStr.Erase();
+ {
+ boost::scoped_array<sal_Char> xBuffer(new sal_Char[nLen]);
+ nLen = rIn.Read(xBuffer.get(), nLen);
+ sBuf = rtl::OUString(xBuffer.get(), nLen, RTL_TEXTENCODING_MS_1252);
+ }
+
+ return sBuf.EraseTrailingChars( 0 );
}
SdrObject* SvxMSDffManager::ImportFontWork( SvStream& rStCt, SfxItemSet& rSet, Rectangle& rBoundRect ) const
@@ -4046,9 +4044,9 @@ SdrObject* SvxMSDffManager::ImportFontWork( SvStream& rStCt, SfxItemSet& rSet, R
((SvxMSDffManager*)this)->mnFix16Angle = 0; // we don't want to use this property in future
if ( SeekToContent( DFF_Prop_gtextUNICODE, rStCt ) )
- MSDFFReadZString( rStCt, aObjectText, GetPropertyValue( DFF_Prop_gtextUNICODE ), sal_True );
+ aObjectText = MSDFFReadZString( rStCt, GetPropertyValue( DFF_Prop_gtextUNICODE ), sal_True );
if ( SeekToContent( DFF_Prop_gtextFont, rStCt ) )
- MSDFFReadZString( rStCt, aFontName, GetPropertyValue( DFF_Prop_gtextFont ), sal_True );
+ aFontName = MSDFFReadZString( rStCt, GetPropertyValue( DFF_Prop_gtextFont ), sal_True );
if ( GetPropertyValue( DFF_Prop_gtextFStrikethrough, 0 ) & 0x2000 )
{
// Text ist senkrecht formatiert, Box Kippen
@@ -4193,7 +4191,7 @@ SdrObject* SvxMSDffManager::ImportGraphic( SvStream& rSt, SfxItemSet& rSet, cons
{
Graphic aGraf; // be sure this graphic is deleted before swapping out
if( SeekToContent( DFF_Prop_pibName, rSt ) )
- MSDFFReadZString( rSt, aFileName, GetPropertyValue( DFF_Prop_pibName ), sal_True );
+ aFileName = MSDFFReadZString( rSt, GetPropertyValue( DFF_Prop_pibName ), sal_True );
// UND, ODER folgendes:
if( !( eFlags & mso_blipflagDoNotSave ) ) // Grafik embedded
@@ -4717,7 +4715,7 @@ SdrObject* SvxMSDffManager::ImportShape( const DffRecordHeader& rHd, SvStream& r
SvxFontItem aLatin(EE_CHAR_FONTINFO), aAsian(EE_CHAR_FONTINFO_CJK), aComplex(EE_CHAR_FONTINFO_CTL);
GetDefaultFonts( aLatin, aAsian, aComplex );
- MSDFFReadZString( rSt, aFontName, GetPropertyValue( DFF_Prop_gtextFont ), sal_True );
+ aFontName = MSDFFReadZString( rSt, GetPropertyValue( DFF_Prop_gtextFont ), sal_True );
aSet.Put( SvxFontItem( aLatin.GetFamily(), aFontName, aLatin.GetStyleName(),
PITCH_DONTKNOW, RTL_TEXTENCODING_DONTKNOW, EE_CHAR_FONTINFO ));
aSet.Put( SvxFontItem( aLatin.GetFamily(), aFontName, aLatin.GetStyleName(),
@@ -4740,7 +4738,7 @@ SdrObject* SvxMSDffManager::ImportShape( const DffRecordHeader& rHd, SvStream& r
if ( SeekToContent( DFF_Prop_gtextUNICODE, rSt ) )
{
- MSDFFReadZString( rSt, aObjectText, GetPropertyValue( DFF_Prop_gtextUNICODE ), sal_True );
+ aObjectText = MSDFFReadZString( rSt, GetPropertyValue( DFF_Prop_gtextUNICODE ), sal_True );
ReadObjText( aObjectText, pRet );
}
diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx
index 5e5726661284..11e84a9fbeb5 100644
--- a/filter/source/msfilter/svdfppt.cxx
+++ b/filter/source/msfilter/svdfppt.cxx
@@ -188,7 +188,7 @@ SvStream& operator>>( SvStream& rIn, PptCurrentUserAtom& rAtom )
>> rAtom.nMajorVersion
>> rAtom.nMinorVersion
>> nPad;
- SvxMSDffManager::MSDFFReadZString( rIn, rAtom.aCurrentUser, nUserNameLen, sal_True );
+ rAtom.aCurrentUser = SvxMSDffManager::MSDFFReadZString( rIn, nUserNameLen, sal_True );
}
aHd.SeekToEndOfRecord( rIn );
return rIn;
@@ -562,7 +562,7 @@ sal_Bool SdrEscherImport::ReadString( String& rStr ) const
|| aStrHd.nRecType == PPT_PST_CString);
bRet=sal_True;
sal_uLong nBytes = aStrHd.nRecLen;
- MSDFFReadZString( rStCtrl, rStr, nBytes, bUniCode );
+ rStr = MSDFFReadZString( rStCtrl, nBytes, bUniCode );
aStrHd.SeekToEndOfRecord( rStCtrl );
}
else
@@ -2675,8 +2675,8 @@ void ImportComment10( SvxMSDffManager& rMan, SvStream& rStCtrl, SdrPage* pPage,
{
case PPT_PST_CString :
{
- String aString;
- SvxMSDffManager::MSDFFReadZString( rStCtrl, aString, aCommentHd.nRecLen, sal_True );
+ rtl::OUString aString = SvxMSDffManager::MSDFFReadZString( rStCtrl,
+ aCommentHd.nRecLen, sal_True );
switch ( aCommentHd.nRecInstance )
{
case 0 : sAuthor = aString; break;
@@ -3149,7 +3149,10 @@ void SdrEscherImport::ImportHeaderFooterContainer( DffRecordHeader& rHd, HeaderF
case PPT_PST_CString :
{
if ( aHd.nRecInstance < 4 )
- MSDFFReadZString( rStCtrl, rE.pPlaceholder[ aHd.nRecInstance ], aHd.nRecLen, sal_True );
+ {
+ rE.pPlaceholder[ aHd.nRecInstance ] = MSDFFReadZString( rStCtrl,
+ aHd.nRecLen, sal_True );
+ }
}
break;
}
diff --git a/sd/source/filter/ppt/pptinanimations.cxx b/sd/source/filter/ppt/pptinanimations.cxx
index 658f46fb8abf..7ed1de1e327a 100644
--- a/sd/source/filter/ppt/pptinanimations.cxx
+++ b/sd/source/filter/ppt/pptinanimations.cxx
@@ -2830,9 +2830,7 @@ bool AnimationImporter::importAttributeValue( const Atom* pAtom, Any& rAny )
{
if ( ( nRecLen & 1 ) && ( nRecLen > 1 ) )
{
- String aString;
- mpPPTImport->MSDFFReadZString( mrStCtrl, aString, nRecLen - 1, sal_True );
- rtl::OUString aOUString( aString );
+ rtl::OUString aOUString = mpPPTImport->MSDFFReadZString( mrStCtrl, nRecLen - 1, sal_True );
rAny <<= aOUString;
bOk = true;
diff --git a/svx/workben/msview/xmlconfig.cxx b/svx/workben/msview/xmlconfig.cxx
index 9c633857832b..b7611d11eefb 100644
--- a/svx/workben/msview/xmlconfig.cxx
+++ b/svx/workben/msview/xmlconfig.cxx
@@ -451,8 +451,7 @@ rtl::OUString ElementConfig::dump_uint( SvStream& rStream, sal_Size& nLength )
rtl::OUString ElementConfig::dump_unistring( SvStream& rStream, sal_Size& nLength )
{
- String aString;
- SvxMSDffManager::MSDFFReadZString( rStream, aString, nLength, sal_True );
+ String aString = SvxMSDffManager::MSDFFReadZString( rStream, nLength, sal_True );
nLength = 0;
return aString;
}