diff options
author | Eike Rathke <erack@redhat.com> | 2013-08-15 01:03:00 +0200 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2013-08-15 01:07:24 +0200 |
commit | 25763e59625ce83de4b82927359108f9e7878744 (patch) | |
tree | f018611072609c041dd9e4bd19302e6d1b1fd36f | |
parent | 81fa342c7aaddf94dc88a6014a69d18471775636 (diff) |
resolved fdo#67571 write flags and formula token array again
Regression introduced with 337066eb1fa395990b78d1032c399a4688d2a6f9,
flags and formula token array weren't written if the formula result was
an error value.
Change-Id: I8ccd55a7b43d5ceb79002e01f0b3d33d36d85538
-rw-r--r-- | sc/source/filter/excel/xetable.cxx | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/sc/source/filter/excel/xetable.cxx b/sc/source/filter/excel/xetable.cxx index 8e0d763762fd..b63aa96f03d7 100644 --- a/sc/source/filter/excel/xetable.cxx +++ b/sc/source/filter/excel/xetable.cxx @@ -940,45 +940,45 @@ void XclExpFormulaCell::WriteContents( XclExpStream& rStrm ) << XclTools::GetXclErrorCode( nScErrCode ) << sal_uInt8( 0 ) << sal_uInt16( 0 ) << sal_uInt16( 0xFFFF ); - - return; } - - // result of the formula - switch( mrScFmlaCell.GetFormatType() ) + else { - case NUMBERFORMAT_NUMBER: + // result of the formula + switch( mrScFmlaCell.GetFormatType() ) { - // either value or error code - rStrm << mrScFmlaCell.GetValue(); - } - break; + case NUMBERFORMAT_NUMBER: + { + // either value or error code + rStrm << mrScFmlaCell.GetValue(); + } + break; - case NUMBERFORMAT_TEXT: - { - OUString aResult = mrScFmlaCell.GetString(); - if( !aResult.isEmpty() || (rStrm.GetRoot().GetBiff() <= EXC_BIFF5) ) - { - rStrm << EXC_FORMULA_RES_STRING; - mxStringRec.reset( new XclExpStringRec( rStrm.GetRoot(), aResult ) ); - } - else - rStrm << EXC_FORMULA_RES_EMPTY; // BIFF8 only - rStrm << sal_uInt8( 0 ) << sal_uInt32( 0 ) << sal_uInt16( 0xFFFF ); - } - break; + case NUMBERFORMAT_TEXT: + { + OUString aResult = mrScFmlaCell.GetString(); + if( !aResult.isEmpty() || (rStrm.GetRoot().GetBiff() <= EXC_BIFF5) ) + { + rStrm << EXC_FORMULA_RES_STRING; + mxStringRec.reset( new XclExpStringRec( rStrm.GetRoot(), aResult ) ); + } + else + rStrm << EXC_FORMULA_RES_EMPTY; // BIFF8 only + rStrm << sal_uInt8( 0 ) << sal_uInt32( 0 ) << sal_uInt16( 0xFFFF ); + } + break; - case NUMBERFORMAT_LOGICAL: - { - sal_uInt8 nXclValue = (mrScFmlaCell.GetValue() == 0.0) ? 0 : 1; - rStrm << EXC_FORMULA_RES_BOOL << sal_uInt8( 0 ) - << nXclValue << sal_uInt8( 0 ) << sal_uInt16( 0 ) - << sal_uInt16( 0xFFFF ); - } - break; + case NUMBERFORMAT_LOGICAL: + { + sal_uInt8 nXclValue = (mrScFmlaCell.GetValue() == 0.0) ? 0 : 1; + rStrm << EXC_FORMULA_RES_BOOL << sal_uInt8( 0 ) + << nXclValue << sal_uInt8( 0 ) << sal_uInt16( 0 ) + << sal_uInt16( 0xFFFF ); + } + break; - default: - rStrm << mrScFmlaCell.GetValue(); + default: + rStrm << mrScFmlaCell.GetValue(); + } } // flags and formula token array |