diff options
Diffstat (limited to 'sc/source')
22 files changed, 278 insertions, 107 deletions
diff --git a/sc/source/filter/oox/addressconverter.cxx b/sc/source/filter/oox/addressconverter.cxx index 59154d2a5f38..920476511e83 100644 --- a/sc/source/filter/oox/addressconverter.cxx +++ b/sc/source/filter/oox/addressconverter.cxx @@ -82,7 +82,8 @@ com::sun::star::uno::Sequence< CellRangeAddress > ApiCellRangeList::toSequence() void BinAddress::read( SequenceInputStream& rStrm ) { - rStrm >> mnRow >> mnCol; + mnRow = rStrm.readInt32(); + mnCol = rStrm.readInt32(); } void BinAddress::read( BiffInputStream& rStrm, bool bCol16Bit, bool bRow32Bit ) @@ -93,7 +94,10 @@ void BinAddress::read( BiffInputStream& rStrm, bool bCol16Bit, bool bRow32Bit ) void BinRange::read( SequenceInputStream& rStrm ) { - rStrm >> maFirst.mnRow >> maLast.mnRow >> maFirst.mnCol >> maLast.mnCol; + maFirst.mnRow = rStrm.readInt32(); + maLast.mnRow = rStrm.readInt32(); + maFirst.mnCol = rStrm.readInt32(); + maLast.mnCol = rStrm.readInt32(); } void BinRange::read( BiffInputStream& rStrm, bool bCol16Bit, bool bRow32Bit ) diff --git a/sc/source/filter/oox/autofilterbuffer.cxx b/sc/source/filter/oox/autofilterbuffer.cxx index dd14ad05df2e..b4453464265b 100644 --- a/sc/source/filter/oox/autofilterbuffer.cxx +++ b/sc/source/filter/oox/autofilterbuffer.cxx @@ -233,7 +233,8 @@ void DiscreteFilter::importRecord( sal_Int32 nRecId, SequenceInputStream& rStrm case BIFF12_ID_DISCRETEFILTERS: { sal_Int32 nShowBlank, nCalendarType; - rStrm >> nShowBlank >> nCalendarType; + nShowBlank = rStrm.readInt32(); + nCalendarType = rStrm.readInt32(); static const sal_Int32 spnCalendarTypes[] = { XML_none, XML_gregorian, XML_gregorianUs, XML_japan, XML_taiwan, XML_korea, XML_hijri, XML_thai, XML_hebrew, @@ -298,7 +299,8 @@ void Top10Filter::importRecord( sal_Int32 nRecId, SequenceInputStream& rStrm ) if( nRecId == BIFF12_ID_TOP10FILTER ) { sal_uInt8 nFlags; - rStrm >> nFlags >> mfValue; + nFlags = rStrm.readuChar(); + mfValue = rStrm.readDouble(); mbTop = getFlag( nFlags, BIFF12_TOP10FILTER_TOP ); mbPercent = getFlag( nFlags, BIFF12_TOP10FILTER_PERCENT ); } @@ -331,7 +333,8 @@ void FilterCriterionModel::setBiffOperator( sal_uInt8 nOperator ) void FilterCriterionModel::readBiffData( SequenceInputStream& rStrm ) { sal_uInt8 nOperator; - rStrm >> mnDataType >> nOperator; + mnDataType = rStrm.readuChar(); + nOperator = rStrm.readuChar(); setBiffOperator( nOperator ); switch( mnDataType ) @@ -503,7 +506,8 @@ void FilterColumn::importFilterColumn( const AttributeList& rAttribs ) void FilterColumn::importFilterColumn( SequenceInputStream& rStrm ) { sal_uInt16 nFlags; - rStrm >> mnColId >> nFlags; + mnColId = rStrm.readInt32(); + nFlags = rStrm.readuInt16(); mbHiddenButton = getFlag( nFlags, BIFF12_FILTERCOLUMN_HIDDENBUTTON ); mbShowButton = getFlag( nFlags, BIFF12_FILTERCOLUMN_SHOWBUTTON ); } diff --git a/sc/source/filter/oox/commentsbuffer.cxx b/sc/source/filter/oox/commentsbuffer.cxx index bd5e1c3dbadf..9f74748c5779 100644 --- a/sc/source/filter/oox/commentsbuffer.cxx +++ b/sc/source/filter/oox/commentsbuffer.cxx @@ -121,7 +121,8 @@ void Comment::importCommentPr( const AttributeList& rAttribs ) void Comment::importComment( SequenceInputStream& rStrm ) { BinRange aBinRange; - rStrm >> maModel.mnAuthorId >> aBinRange; + maModel.mnAuthorId = rStrm.readInt32(); + rStrm >> aBinRange; // cell range will be checked while inserting the comment into the document getAddressConverter().convertToCellRangeUnchecked( maModel.maRange, aBinRange, getSheetIndex() ); } diff --git a/sc/source/filter/oox/condformatbuffer.cxx b/sc/source/filter/oox/condformatbuffer.cxx index 754c36c2bc7a..4c1894a5edb4 100644 --- a/sc/source/filter/oox/condformatbuffer.cxx +++ b/sc/source/filter/oox/condformatbuffer.cxx @@ -415,9 +415,17 @@ void CondFormatRule::importCfRule( SequenceInputStream& rStrm ) { sal_Int32 nType, nSubType, nOperator, nFmla1Size, nFmla2Size, nFmla3Size; sal_uInt16 nFlags; - rStrm >> nType >> nSubType >> maModel.mnDxfId >> maModel.mnPriority >> nOperator; + nType = rStrm.readInt32(); + nSubType = rStrm.readInt32(); + maModel.mnDxfId = rStrm.readInt32(); + maModel.mnPriority = rStrm.readInt32(); + nOperator = rStrm.readInt32(); rStrm.skip( 8 ); - rStrm >> nFlags >> nFmla1Size >> nFmla2Size >> nFmla3Size >> maModel.maText; + nFlags = rStrm.readuInt16(); + nFmla1Size = rStrm.readInt32(); + nFmla2Size = rStrm.readInt32(); + nFmla3Size = rStrm.readInt32(); + rStrm >> maModel.maText; /* Import the formulas. For no obvious reason, the sizes of the formulas are already stored before. Nevertheless the following formulas contain diff --git a/sc/source/filter/oox/connectionsbuffer.cxx b/sc/source/filter/oox/connectionsbuffer.cxx index dd3d11430578..519c90e1f51a 100644 --- a/sc/source/filter/oox/connectionsbuffer.cxx +++ b/sc/source/filter/oox/connectionsbuffer.cxx @@ -182,10 +182,15 @@ void Connection::importConnection( SequenceInputStream& rStrm ) sal_uInt16 nFlags, nStrFlags; sal_uInt8 nSavePassword, nCredentials; rStrm.skip( 2 ); - rStrm >> nSavePassword; + nSavePassword = rStrm.readuChar(); rStrm.skip( 1 ); maModel.mnInterval = rStrm.readuInt16(); - rStrm >> nFlags >> nStrFlags >> maModel.mnType >> maModel.mnReconnectMethod >> maModel.mnId >> nCredentials; + nFlags = rStrm.readuInt16(); + nStrFlags = rStrm.readuInt16(); + maModel.mnType = rStrm.readInt32(); + maModel.mnReconnectMethod = rStrm.readInt32(); + maModel.mnId = rStrm.readInt32(); + nCredentials = rStrm.readuChar(); if( getFlag( nStrFlags, BIFF12_CONNECTION_HAS_SOURCEFILE ) ) rStrm >> maModel.maSourceFile; @@ -217,7 +222,8 @@ void Connection::importWebPr( SequenceInputStream& rStrm ) sal_uInt32 nFlags; sal_uInt8 nStrFlags; - rStrm >> nFlags >> nStrFlags; + nFlags = rStrm.readuInt32(); + nStrFlags = rStrm.readuChar(); if( getFlag( nStrFlags, BIFF12_WEBPR_HAS_URL ) ) rStrm >> rWebPr.maUrl; diff --git a/sc/source/filter/oox/defnamesbuffer.cxx b/sc/source/filter/oox/defnamesbuffer.cxx index 85bc04e0b5b2..dc30444b2c7e 100644 --- a/sc/source/filter/oox/defnamesbuffer.cxx +++ b/sc/source/filter/oox/defnamesbuffer.cxx @@ -279,9 +279,10 @@ void DefinedName::setFormula( const OUString& rFormula ) void DefinedName::importDefinedName( SequenceInputStream& rStrm ) { sal_uInt32 nFlags; - rStrm >> nFlags; + nFlags = rStrm.readuInt32(); rStrm.skip( 1 ); // keyboard shortcut - rStrm >> maModel.mnSheet >> maModel.maName; + maModel.mnSheet = rStrm.readInt32(); + rStrm >> maModel.maName; mnCalcSheet = (maModel.mnSheet >= 0) ? getWorksheets().getCalcSheetIndex( maModel.mnSheet ) : -1; // macro function/command, hidden flag diff --git a/sc/source/filter/oox/externallinkbuffer.cxx b/sc/source/filter/oox/externallinkbuffer.cxx index fa486d037190..ca1715c08181 100644 --- a/sc/source/filter/oox/externallinkbuffer.cxx +++ b/sc/source/filter/oox/externallinkbuffer.cxx @@ -125,7 +125,8 @@ void ExternalName::importExternalNameFlags( SequenceInputStream& rStrm ) { sal_uInt16 nFlags; sal_Int32 nSheetId; - rStrm >> nFlags >> nSheetId; + nFlags = rStrm.readuInt16(); + nSheetId = rStrm.readInt32(); // index into sheet list of EXTSHEETNAMES (one-based in BIFF12) maModel.mnSheet = nSheetId - 1; // no flag for built-in names, as in OOXML... @@ -141,7 +142,8 @@ void ExternalName::importExternalNameFlags( SequenceInputStream& rStrm ) void ExternalName::importDdeItemValues( SequenceInputStream& rStrm ) { sal_Int32 nRows, nCols; - rStrm >> nRows >> nCols; + nRows = rStrm.readInt32(); + nCols = rStrm.readInt32(); setResultSize( nCols, nRows ); } @@ -622,7 +624,9 @@ RefSheetsModel::RefSheetsModel() : void RefSheetsModel::readBiff12Data( SequenceInputStream& rStrm ) { - rStrm >> mnExtRefId >> mnTabId1 >> mnTabId2; + mnExtRefId = rStrm.readInt32(); + mnTabId1 = rStrm.readInt32(); + mnTabId2 = rStrm.readInt32(); } ExternalLinkBuffer::ExternalLinkBuffer( const WorkbookHelper& rHelper ) : @@ -675,7 +679,7 @@ void ExternalLinkBuffer::importExternalSheets( SequenceInputStream& rStrm ) OSL_ENSURE( maRefSheets.empty(), "ExternalLinkBuffer::importExternalSheets - multiple EXTERNALSHEETS records" ); maRefSheets.clear(); sal_Int32 nRefCount; - rStrm >> nRefCount; + nRefCount = rStrm.readInt32(); size_t nMaxCount = getLimitedValue< size_t, sal_Int64 >( nRefCount, 0, rStrm.getRemaining() / 12 ); maRefSheets.reserve( nMaxCount ); for( size_t nRefId = 0; !rStrm.isEof() && (nRefId < nMaxCount); ++nRefId ) diff --git a/sc/source/filter/oox/formulabase.cxx b/sc/source/filter/oox/formulabase.cxx index 5b07c1ed4e5e..831931360664 100644 --- a/sc/source/filter/oox/formulabase.cxx +++ b/sc/source/filter/oox/formulabase.cxx @@ -98,7 +98,8 @@ void BinSingleRef2d::readBiff12Data( SequenceInputStream& rStrm, bool bRelativeA { sal_Int32 nRow; sal_uInt16 nCol; - rStrm >> nRow >> nCol; + nRow = rStrm.readInt32(); + nCol = rStrm.readuInt16(); setBiff12Data( nCol, nRow, bRelativeAsOffset ); } @@ -121,7 +122,10 @@ void BinComplexRef2d::readBiff12Data( SequenceInputStream& rStrm, bool bRelative { sal_Int32 nRow1, nRow2; sal_uInt16 nCol1, nCol2; - rStrm >> nRow1 >> nRow2 >> nCol1 >> nCol2; + nRow1 = rStrm.readInt32(); + nRow2 = rStrm.readInt32(); + nCol1 = rStrm.readuInt16(); + nCol2 = rStrm.readuInt16(); maRef1.setBiff12Data( nCol1, nRow1, bRelativeAsOffset ); maRef2.setBiff12Data( nCol2, nRow2, bRelativeAsOffset ); } diff --git a/sc/source/filter/oox/formulaparser.cxx b/sc/source/filter/oox/formulaparser.cxx index 54743dcf4217..4b5a04eff32e 100644 --- a/sc/source/filter/oox/formulaparser.cxx +++ b/sc/source/filter/oox/formulaparser.cxx @@ -1321,7 +1321,7 @@ ApiTokenSequence OoxFormulaParserImpl::importBiff12Formula( const CellAddress& r while( bOk && !rStrm.isEof() && (rStrm.tell() < nFmlaEndPos) ) { sal_uInt8 nTokenId; - rStrm >> nTokenId; + nTokenId = rStrm.readuChar(); sal_uInt8 nTokenClass = nTokenId & BIFF_TOKCLASS_MASK; sal_uInt8 nBaseId = nTokenId & BIFF_TOKID_MASK; @@ -1411,7 +1411,7 @@ bool OoxFormulaParserImpl::importAttrToken( SequenceInputStream& rStrm ) { bool bOk = true; sal_uInt8 nType; - rStrm >> nType; + nType = rStrm.readuChar(); // equal flags in all BIFFs switch( nType ) { @@ -1444,7 +1444,8 @@ bool OoxFormulaParserImpl::importSpaceToken( SequenceInputStream& rStrm ) { // equal constants in BIFF and OOX sal_uInt8 nType, nCount; - rStrm >> nType >> nCount; + nType = rStrm.readuChar(); + nCount = rStrm.readuChar(); switch( nType ) { case BIFF_TOK_ATTR_SPACE_SP: @@ -1473,9 +1474,11 @@ bool OoxFormulaParserImpl::importTableToken( SequenceInputStream& rStrm ) { sal_uInt16 nFlags, nTableId, nCol1, nCol2; rStrm.skip( 3 ); - rStrm >> nFlags >> nTableId; + nFlags = rStrm.readuInt16(); + nTableId = rStrm.readuInt16(); rStrm.skip( 2 ); - rStrm >> nCol1 >> nCol2; + nCol1 = rStrm.readuInt16(); + nCol2 = rStrm.readuInt16(); TableRef xTable = getTables().getTable( nTableId ); sal_Int32 nTokenIndex = xTable.get() ? xTable->getTokenIndex() : -1; if( nTokenIndex >= 0 ) @@ -1706,7 +1709,7 @@ bool OoxFormulaParserImpl::importNameXToken( SequenceInputStream& rStrm ) bool OoxFormulaParserImpl::importFuncToken( SequenceInputStream& rStrm ) { sal_uInt16 nFuncId; - rStrm >> nFuncId; + nFuncId = rStrm.readuInt16(); return pushBiff12Function( nFuncId ); } @@ -1714,16 +1717,17 @@ bool OoxFormulaParserImpl::importFuncVarToken( SequenceInputStream& rStrm ) { sal_uInt8 nParamCount; sal_uInt16 nFuncId; - rStrm >> nParamCount >> nFuncId; + nParamCount = rStrm.readuChar(); + nFuncId = rStrm.readuInt16(); return pushBiff12Function( nFuncId, nParamCount ); } bool OoxFormulaParserImpl::importExpToken( SequenceInputStream& rStrm ) { BinAddress aBaseAddr; - rStrm >> aBaseAddr.mnRow; + aBaseAddr.mnRow = rStrm.readInt32(); swapStreamPosition( rStrm ); - rStrm >> aBaseAddr.mnCol; + aBaseAddr.mnCol = rStrm.readInt32(); swapStreamPosition( rStrm ); return pushSpecialTokenOperand( aBaseAddr, false ); } @@ -2843,7 +2847,9 @@ OUString FormulaParser::importOleTargetLink( SequenceInputStream& rStrm ) sal_uInt8 nToken; sal_Int16 nRefId; sal_Int32 nNameId; - rStrm >> nToken >> nRefId >> nNameId; + nToken = rStrm.readuChar(); + nRefId = rStrm.readInt16(); + nNameId = rStrm.readInt32(); if( nToken == (BIFF_TOKCLASS_VAL|BIFF_TOKID_NAMEX) ) aTargetLink = mxImpl->resolveOleTarget( nRefId, true ); } diff --git a/sc/source/filter/oox/pagesettings.cxx b/sc/source/filter/oox/pagesettings.cxx index b6f92d9b8b52..07afbe37bc14 100644 --- a/sc/source/filter/oox/pagesettings.cxx +++ b/sc/source/filter/oox/pagesettings.cxx @@ -226,15 +226,18 @@ void PageSettings::importPicture( const Relations& rRelations, const AttributeLi void PageSettings::importPageMargins( SequenceInputStream& rStrm ) { - rStrm >> maModel.mfLeftMargin >> maModel.mfRightMargin - >> maModel.mfTopMargin >> maModel.mfBottomMargin - >> maModel.mfHeaderMargin >> maModel.mfFooterMargin; + maModel.mfLeftMargin = rStrm.readDouble(); + maModel.mfRightMargin = rStrm.readDouble(); + maModel.mfTopMargin = rStrm.readDouble(); + maModel.mfBottomMargin = rStrm.readDouble(); + maModel.mfHeaderMargin = rStrm.readDouble(); + maModel.mfFooterMargin = rStrm.readDouble(); } void PageSettings::importPrintOptions( SequenceInputStream& rStrm ) { sal_uInt16 nFlags; - rStrm >> nFlags; + nFlags = rStrm.readuInt16(); maModel.mbHorCenter = getFlag( nFlags, BIFF12_PRINTOPT_HORCENTER ); maModel.mbVerCenter = getFlag( nFlags, BIFF12_PRINTOPT_VERCENTER ); maModel.mbPrintGrid = getFlag( nFlags, BIFF12_PRINTOPT_PRINTGRID ); @@ -245,11 +248,16 @@ void PageSettings::importPageSetup( const Relations& rRelations, SequenceInputSt { OUString aRelId; sal_uInt16 nFlags; - rStrm >> maModel.mnPaperSize >> maModel.mnScale - >> maModel.mnHorPrintRes >> maModel.mnVerPrintRes - >> maModel.mnCopies >> maModel.mnFirstPage - >> maModel.mnFitToWidth >> maModel.mnFitToHeight - >> nFlags >> aRelId; + maModel.mnPaperSize = rStrm.readInt32(); + maModel.mnScale = rStrm.readInt32(); + maModel.mnHorPrintRes = rStrm.readInt32(); + maModel.mnVerPrintRes = rStrm.readInt32(); + maModel.mnCopies = rStrm.readInt32(); + maModel.mnFirstPage = rStrm.readInt32(); + maModel.mnFitToWidth = rStrm.readInt32(); + maModel.mnFitToHeight = rStrm.readInt32(); + nFlags = rStrm.readuInt16(); + rStrm >> aRelId; maModel.setBiffPrintErrors( extractValue< sal_uInt8 >( nFlags, 9, 2 ) ); maModel.maBinSettPath = rRelations.getFragmentPathFromRelId( aRelId ); maModel.mnOrientation = getFlagValue( nFlags, BIFF12_PAGESETUP_DEFAULTORIENT, XML_default, getFlagValue( nFlags, BIFF12_PAGESETUP_LANDSCAPE, XML_landscape, XML_portrait ) ); @@ -265,8 +273,13 @@ void PageSettings::importChartPageSetup( const Relations& rRelations, SequenceIn { OUString aRelId; sal_uInt16 nFirstPage, nFlags; - rStrm >> maModel.mnPaperSize >> maModel.mnHorPrintRes >> maModel.mnVerPrintRes - >> maModel.mnCopies >> nFirstPage >> nFlags >> aRelId; + maModel.mnPaperSize = rStrm.readInt32(); + maModel.mnHorPrintRes = rStrm.readInt32(); + maModel.mnVerPrintRes = rStrm.readInt32(); + maModel.mnCopies = rStrm.readInt32(); + nFirstPage = rStrm.readuInt16(); + nFlags = rStrm.readuInt16(); + rStrm >> aRelId; maModel.maBinSettPath = rRelations.getFragmentPathFromRelId( aRelId ); maModel.mnFirstPage = nFirstPage; // 16-bit in CHARTPAGESETUP maModel.mnOrientation = getFlagValue( nFlags, BIFF12_CHARTPAGESETUP_DEFAULTORIENT, XML_default, getFlagValue( nFlags, BIFF12_CHARTPAGESETUP_LANDSCAPE, XML_landscape, XML_portrait ) ); @@ -279,8 +292,8 @@ void PageSettings::importChartPageSetup( const Relations& rRelations, SequenceIn void PageSettings::importHeaderFooter( SequenceInputStream& rStrm ) { sal_uInt16 nFlags; - rStrm >> nFlags - >> maModel.maOddHeader >> maModel.maOddFooter + nFlags = rStrm.readuInt16(); + rStrm >> maModel.maOddHeader >> maModel.maOddFooter >> maModel.maEvenHeader >> maModel.maEvenFooter >> maModel.maFirstHeader >> maModel.maFirstFooter; maModel.mbUseEvenHF = getFlag( nFlags, BIFF12_HEADERFOOTER_DIFFEVEN ); diff --git a/sc/source/filter/oox/pivotcachebuffer.cxx b/sc/source/filter/oox/pivotcachebuffer.cxx index 48e7b591bd12..da6e770d8905 100644 --- a/sc/source/filter/oox/pivotcachebuffer.cxx +++ b/sc/source/filter/oox/pivotcachebuffer.cxx @@ -540,9 +540,13 @@ void PivotCacheField::importGroupItem( sal_Int32 nElement, const AttributeList& void PivotCacheField::importPCDField( SequenceInputStream& rStrm ) { sal_uInt16 nFlags; - rStrm >> nFlags >> maFieldModel.mnNumFmtId; + nFlags = rStrm.readuInt16(); + maFieldModel.mnNumFmtId = rStrm.readInt32(); maFieldModel.mnSqlType = rStrm.readInt16(); - rStrm >> maFieldModel.mnHierarchy >> maFieldModel.mnLevel >> maFieldModel.mnMappingCount >> maFieldModel.maName; + maFieldModel.mnHierarchy = rStrm.readInt32(); + maFieldModel.mnLevel = rStrm.readInt32(); + maFieldModel.mnMappingCount = rStrm.readInt32(); + rStrm >> maFieldModel.maName; if( getFlag( nFlags, BIFF12_PCDFIELD_HASCAPTION ) ) rStrm >> maFieldModel.maCaption; if( getFlag( nFlags, BIFF12_PCDFIELD_HASFORMULA ) ) @@ -561,7 +565,7 @@ void PivotCacheField::importPCDField( SequenceInputStream& rStrm ) void PivotCacheField::importPCDFSharedItems( SequenceInputStream& rStrm ) { sal_uInt16 nFlags; - rStrm >> nFlags; + nFlags = rStrm.readuInt16(); maSharedItemsModel.mbHasSemiMixed = getFlag( nFlags, BIFF12_PCDFSITEMS_HASSEMIMIXED ); maSharedItemsModel.mbHasNonDate = getFlag( nFlags, BIFF12_PCDFSITEMS_HASNONDATE ); maSharedItemsModel.mbHasDate = getFlag( nFlags, BIFF12_PCDFSITEMS_HASDATE ); @@ -580,13 +584,18 @@ void PivotCacheField::importPCDFSharedItem( sal_Int32 nRecId, SequenceInputStrea void PivotCacheField::importPCDFieldGroup( SequenceInputStream& rStrm ) { - rStrm >> maFieldGroupModel.mnParentField >> maFieldGroupModel.mnBaseField; + maFieldGroupModel.mnParentField = rStrm.readInt32(); + maFieldGroupModel.mnBaseField = rStrm.readInt32(); } void PivotCacheField::importPCDFRangePr( SequenceInputStream& rStrm ) { sal_uInt8 nGroupBy, nFlags; - rStrm >> nGroupBy >> nFlags >> maFieldGroupModel.mfStartValue >> maFieldGroupModel.mfEndValue >> maFieldGroupModel.mfInterval; + nGroupBy = rStrm.readuChar(); + nFlags = rStrm.readuChar(); + maFieldGroupModel.mfStartValue = rStrm.readDouble(); + maFieldGroupModel.mfEndValue = rStrm.readDouble(); + maFieldGroupModel.mfInterval = rStrm.readDouble(); maFieldGroupModel.setBiffGroupBy( nGroupBy ); maFieldGroupModel.mbRangeGroup = true; @@ -1092,7 +1101,11 @@ void PivotCache::importPCDefinition( SequenceInputStream& rStrm ) { sal_uInt8 nFlags1, nFlags2; rStrm.skip( 3 ); // create/refresh version id's - rStrm >> nFlags1 >> maDefModel.mnMissItemsLimit >> maDefModel.mfRefreshedDate >> nFlags2 >> maDefModel.mnRecords; + nFlags1 = rStrm.readuChar(); + maDefModel.mnMissItemsLimit = rStrm.readInt32(); + maDefModel.mfRefreshedDate = rStrm.readDouble(); + nFlags2 = rStrm.readuChar(); + maDefModel.mnRecords = rStrm.readInt32(); if( getFlag( nFlags2, BIFF12_PCDEFINITION_HASUSERNAME ) ) rStrm >> maDefModel.maRefreshedBy; if( getFlag( nFlags2, BIFF12_PCDEFINITION_HASRELID ) ) @@ -1113,7 +1126,8 @@ void PivotCache::importPCDefinition( SequenceInputStream& rStrm ) void PivotCache::importPCDSource( SequenceInputStream& rStrm ) { sal_Int32 nSourceType; - rStrm >> nSourceType >> maSourceModel.mnConnectionId; + nSourceType = rStrm.readInt32(); + maSourceModel.mnConnectionId = rStrm.readInt32(); static const sal_Int32 spnSourceTypes[] = { XML_worksheet, XML_external, XML_consolidation, XML_scenario }; maSourceModel.mnSourceType = STATIC_ARRAY_SELECT( spnSourceTypes, nSourceType, XML_TOKEN_INVALID ); } @@ -1121,7 +1135,9 @@ void PivotCache::importPCDSource( SequenceInputStream& rStrm ) void PivotCache::importPCDSheetSource( SequenceInputStream& rStrm, const Relations& rRelations ) { sal_uInt8 nIsDefName, nIsBuiltinName, nFlags; - rStrm >> nIsDefName >> nIsBuiltinName >> nFlags; + nIsDefName = rStrm.readuChar(); + nIsBuiltinName = rStrm.readuChar(); + nFlags = rStrm.readuChar(); if( getFlag( nFlags, BIFF12_PCDWBSOURCE_HASSHEET ) ) rStrm >> maSheetSrcModel.maSheet; if( getFlag( nFlags, BIFF12_PCDWBSOURCE_HASRELID ) ) diff --git a/sc/source/filter/oox/pivottablebuffer.cxx b/sc/source/filter/oox/pivottablebuffer.cxx index 0356e5bdaf71..ec574e36b327 100644 --- a/sc/source/filter/oox/pivottablebuffer.cxx +++ b/sc/source/filter/oox/pivottablebuffer.cxx @@ -308,7 +308,11 @@ void PivotTableField::importReferenceItem( const AttributeList& rAttribs ) void PivotTableField::importPTField( SequenceInputStream& rStrm ) { sal_uInt32 nFlags1, nFlags2; - rStrm >> nFlags1 >> maModel.mnNumFmtId >> nFlags2 >> maModel.mnAutoShowItems >> maModel.mnAutoShowRankBy; + nFlags1 = rStrm.readuInt32(); + maModel.mnNumFmtId = rStrm.readInt32(); + nFlags2 = rStrm.readuInt32(); + maModel.mnAutoShowItems = rStrm.readInt32(); + maModel.mnAutoShowRankBy = rStrm.readInt32(); maModel.setBiffAxis( extractValue< sal_uInt8 >( nFlags1, 0, 3 ) ); maModel.mbDataField = getFlag( nFlags1, BIFF12_PTFIELD_DATAFIELD ); @@ -344,7 +348,9 @@ void PivotTableField::importPTFItem( SequenceInputStream& rStrm ) PTFieldItemModel aModel; sal_uInt8 nType; sal_uInt16 nFlags; - rStrm >> nType >> nFlags >> aModel.mnCacheItem; + nType = rStrm.readuChar(); + nFlags = rStrm.readuInt16(); + aModel.mnCacheItem = rStrm.readInt32(); aModel.setBiffType( nType ); aModel.mbShowDetails = !getFlag( nFlags, BIFF12_PTFITEM_HIDEDETAILS ); @@ -355,12 +361,12 @@ void PivotTableField::importPTFItem( SequenceInputStream& rStrm ) void PivotTableField::importPTReference( SequenceInputStream& rStrm ) { - rStrm >> maModel.mnSortRefField; + maModel.mnSortRefField = rStrm.readInt32(); } void PivotTableField::importPTReferenceItem( SequenceInputStream& rStrm ) { - rStrm >> maModel.mnSortRefItem; + maModel.mnSortRefItem = rStrm.readInt32(); } void PivotTableField::finalizeImport( const Reference< XDataPilotDescriptor >& rxDPDesc ) @@ -776,9 +782,14 @@ void PivotTableFilter::importPTFilter( SequenceInputStream& rStrm ) { sal_Int32 nType; sal_uInt16 nFlags; - rStrm >> maModel.mnField >> maModel.mnMemPropField >> nType; + maModel.mnField = rStrm.readInt32(); + maModel.mnMemPropField = rStrm.readInt32(); + nType = rStrm.readInt32(); rStrm.skip( 4 ); // unused - rStrm >> maModel.mnId >> maModel.mnMeasureField >> maModel.mnMeasureHier >> nFlags; + maModel.mnId = rStrm.readInt32(); + maModel.mnMeasureField = rStrm.readInt32(); + maModel.mnMeasureHier = rStrm.readInt32(); + nFlags = rStrm.readuInt16(); if( getFlag( nFlags, BIFF12_PTFILTER_HASNAME ) ) rStrm >> maModel.maName; if( getFlag( nFlags, BIFF12_PTFILTER_HASDESCRIPTION ) ) @@ -815,7 +826,8 @@ void PivotTableFilter::importPTFilter( SequenceInputStream& rStrm ) void PivotTableFilter::importTop10Filter( SequenceInputStream& rStrm ) { sal_uInt8 nFlags; - rStrm >> nFlags >> maModel.mfValue; + nFlags = rStrm.readuChar(); + maModel.mfValue = rStrm.readDouble(); SAL_WARN_IF( getFlag(nFlags, BIFF12_TOP10FILTER_PERCENT) != (maModel.mnType == XML_percent), @@ -995,13 +1007,18 @@ void PivotTable::importPTDefinition( SequenceInputStream& rStrm ) { sal_uInt32 nFlags1, nFlags2, nFlags3; sal_uInt8 nDataAxis; - rStrm >> nFlags1 >> nFlags2 >> nFlags3 >> nDataAxis; + nFlags1 = rStrm.readuInt32(); + nFlags2 = rStrm.readuInt32(); + nFlags3 = rStrm.readuInt32(); + nDataAxis = rStrm.readuChar(); maDefModel.mnPageWrap = rStrm.readuInt8(); rStrm.skip( 2 ); // refresh versions - rStrm >> maDefModel.mnDataPosition; + maDefModel.mnDataPosition = rStrm.readInt32(); maDefModel.mnAutoFormatId = rStrm.readuInt16(); rStrm.skip( 2 ); // unused - rStrm >> maDefModel.mnChartFormat >> maDefModel.mnCacheId >> maDefModel.maName; + maDefModel.mnChartFormat = rStrm.readInt32(); + maDefModel.mnCacheId = rStrm.readInt32(); + rStrm >> maDefModel.maName; if( getFlag( nFlags2, BIFF12_PTDEF_HASDATACAPTION ) ) rStrm >> maDefModel.maDataCaption; if( getFlag( nFlags2, BIFF12_PTDEF_HASGRANDTOTALCAPTION ) ) @@ -1064,9 +1081,12 @@ void PivotTable::importPTDefinition( SequenceInputStream& rStrm ) void PivotTable::importPTLocation( SequenceInputStream& rStrm, sal_Int16 nSheet ) { BinRange aBinRange; - rStrm >> aBinRange >> maLocationModel.mnFirstHeaderRow - >> maLocationModel.mnFirstDataRow >> maLocationModel.mnFirstDataCol - >> maLocationModel.mnRowPageCount >> maLocationModel.mnColPageCount; + rStrm >> aBinRange; + maLocationModel.mnFirstHeaderRow = rStrm.readInt32(); + maLocationModel.mnFirstDataRow = rStrm.readInt32(); + maLocationModel.mnFirstDataCol = rStrm.readInt32(); + maLocationModel.mnRowPageCount = rStrm.readInt32(); + maLocationModel.mnColPageCount = rStrm.readInt32(); getAddressConverter().convertToCellRangeUnchecked( maLocationModel.maRange, aBinRange, nSheet ); } @@ -1084,9 +1104,10 @@ void PivotTable::importPTPageField( SequenceInputStream& rStrm ) { PTPageFieldModel aModel; sal_uInt8 nFlags; - rStrm >> aModel.mnField >> aModel.mnItem; + aModel.mnField = rStrm.readInt32(); + aModel.mnItem = rStrm.readInt32(); rStrm.skip( 4 ); // hierarchy - rStrm >> nFlags; + nFlags = rStrm.readuChar(); if( getFlag( nFlags, BIFF12_PTPAGEFIELD_HASNAME ) ) rStrm >> aModel.maName; maPageFields.push_back( aModel ); @@ -1097,7 +1118,13 @@ void PivotTable::importPTDataField( SequenceInputStream& rStrm ) PTDataFieldModel aModel; sal_Int32 nSubtotal, nShowDataAs; sal_uInt8 nHasName; - rStrm >> aModel.mnField >> nSubtotal >> nShowDataAs >> aModel.mnBaseField >> aModel.mnBaseItem >> aModel.mnNumFmtId >> nHasName; + aModel.mnField = rStrm.readInt32( ); + nSubtotal = rStrm.readInt32(); + nShowDataAs = rStrm.readInt32(); + aModel.mnBaseField = rStrm.readInt32(); + aModel.mnBaseItem = rStrm.readInt32(); + aModel.mnNumFmtId = rStrm.readInt32(); + nHasName = rStrm.readuChar(); if( nHasName == 1 ) rStrm >> aModel.maName; aModel.setBiffSubtotal( nSubtotal ); diff --git a/sc/source/filter/oox/querytablebuffer.cxx b/sc/source/filter/oox/querytablebuffer.cxx index b2e7cb915657..c1c45e790b70 100644 --- a/sc/source/filter/oox/querytablebuffer.cxx +++ b/sc/source/filter/oox/querytablebuffer.cxx @@ -179,9 +179,10 @@ void QueryTable::importQueryTable( const AttributeList& rAttribs ) void QueryTable::importQueryTable( SequenceInputStream& rStrm ) { sal_uInt32 nFlags; - rStrm >> nFlags; + nFlags = rStrm.readuInt32(); maModel.mnAutoFormatId = rStrm.readuInt16(); - rStrm >> maModel.mnConnId >> maModel.maDefName; + maModel.mnConnId = rStrm.readInt32(); + rStrm >> maModel.maDefName; static const sal_Int32 spnGrowShrinkTypes[] = { XML_insertClear, XML_insertDelete, XML_overwriteClear }; maModel.mnGrowShrinkType = STATIC_ARRAY_SELECT( spnGrowShrinkTypes, extractValue< sal_uInt8 >( nFlags, 6, 2 ), XML_insertDelete ); diff --git a/sc/source/filter/oox/richstring.cxx b/sc/source/filter/oox/richstring.cxx index ca8b97706a60..1b2961cbeeaf 100644 --- a/sc/source/filter/oox/richstring.cxx +++ b/sc/source/filter/oox/richstring.cxx @@ -224,7 +224,9 @@ void PhoneticSettings::importPhoneticPr( SequenceInputStream& rStrm ) { sal_uInt16 nFontId; sal_Int32 nType, nAlignment; - rStrm >> nFontId >> nType >> nAlignment; + nFontId = rStrm.readuInt16(); + nType = rStrm.readInt32(); + nAlignment = rStrm.readInt32(); maModel.mnFontId = nFontId; maModel.setBiffData( nType, nAlignment ); } @@ -232,7 +234,8 @@ void PhoneticSettings::importPhoneticPr( SequenceInputStream& rStrm ) void PhoneticSettings::importStringData( SequenceInputStream& rStrm ) { sal_uInt16 nFontId, nFlags; - rStrm >> nFontId >> nFlags; + nFontId = rStrm.readuInt16(); + nFlags = rStrm.readuInt16(); maModel.mnFontId = nFontId; maModel.setBiffData( extractValue< sal_Int32 >( nFlags, 0, 2 ), extractValue< sal_Int32 >( nFlags, 2, 2 ) ); } diff --git a/sc/source/filter/oox/sheetdatacontext.cxx b/sc/source/filter/oox/sheetdatacontext.cxx index cbd7c9dcda88..fad6d5d9b32e 100644 --- a/sc/source/filter/oox/sheetdatacontext.cxx +++ b/sc/source/filter/oox/sheetdatacontext.cxx @@ -372,7 +372,12 @@ void SheetDataContext::importRow( SequenceInputStream& rStrm ) sal_Int32 nSpanCount; sal_uInt16 nHeight, nFlags1; sal_uInt8 nFlags2; - rStrm >> maCurrPos.mnRow >> aModel.mnXfId >> nHeight >> nFlags1 >> nFlags2 >> nSpanCount; + maCurrPos.mnRow = rStrm.readInt32(); + aModel.mnXfId = rStrm.readInt32(); + nHeight = rStrm.readuInt16(); + nFlags1 = rStrm.readuInt16(); + nFlags2 = rStrm.readuChar(); + nSpanCount = rStrm.readInt32(); maCurrPos.mnCol = 0; // row index is 0-based in BIFF12, but RowModel expects 1-based @@ -393,7 +398,8 @@ void SheetDataContext::importRow( SequenceInputStream& rStrm ) for( sal_Int32 nSpanIdx = 0; (nSpanIdx < nSpanCount) && !rStrm.isEof(); ++nSpanIdx ) { sal_Int32 nFirstCol, nLastCol; - rStrm >> nFirstCol >> nLastCol; + nFirstCol = rStrm.readInt32(); + nLastCol = rStrm.readInt32(); aModel.insertColSpan( ValueRange( nFirstCol, ::std::min( nLastCol, nMaxCol ) ) ); } @@ -406,12 +412,11 @@ bool SheetDataContext::readCellHeader( SequenceInputStream& rStrm, CellType eCel switch( eCellType ) { case CELLTYPE_VALUE: - case CELLTYPE_FORMULA: rStrm >> maCurrPos.mnCol; break; + case CELLTYPE_FORMULA: maCurrPos.mnCol = rStrm.readInt32(); break; case CELLTYPE_MULTI: ++maCurrPos.mnCol; break; } - sal_uInt32 nXfId; - rStrm >> nXfId; + sal_uInt32 nXfId = rStrm.readuInt32(); bool bValidAddr = mrAddressConv.convertToCellAddress( maCellData.maCellAddr, maCurrPos, mnSheet, true ); maCellData.mnXfId = extractValue< sal_Int32 >( nXfId, 0, 24 ); @@ -547,7 +552,8 @@ void SheetDataContext::importDataTable( SequenceInputStream& rStrm ) { BinAddress aRef1, aRef2; sal_uInt8 nFlags; - rStrm >> aRef1 >> aRef2 >> nFlags; + rStrm >> aRef1 >> aRef2; + nFlags = rStrm.readuChar(); maTableData.maRef1 = FormulaProcessorBase::generateAddress2dString( aRef1, false ); maTableData.maRef2 = FormulaProcessorBase::generateAddress2dString( aRef2, false ); maTableData.mbRowTable = getFlag( nFlags, BIFF12_DATATABLE_ROW ); diff --git a/sc/source/filter/oox/stylesbuffer.cxx b/sc/source/filter/oox/stylesbuffer.cxx index 1a78749b0116..170387f073d6 100644 --- a/sc/source/filter/oox/stylesbuffer.cxx +++ b/sc/source/filter/oox/stylesbuffer.cxx @@ -292,7 +292,9 @@ void Color::importColor( SequenceInputStream& rStrm ) { sal_uInt8 nFlags, nIndex; sal_Int16 nTint; - rStrm >> nFlags >> nIndex >> nTint; + nFlags = rStrm.readuChar(); + nIndex = rStrm.readuChar(); + nTint = rStrm.readInt16(); // scale tint from signed 16-bit to double range -1.0 ... 1.0 double fTint = nTint; @@ -662,9 +664,17 @@ void Font::importFont( SequenceInputStream& rStrm ) sal_uInt16 nHeight, nFlags, nWeight, nEscapement; sal_uInt8 nUnderline, nFamily, nCharSet, nScheme; - rStrm >> nHeight >> nFlags >> nWeight >> nEscapement >> nUnderline >> nFamily >> nCharSet; + nHeight = rStrm.readuInt16(); + nFlags = rStrm.readuInt16(); + nWeight = rStrm.readuInt16(); + nEscapement = rStrm.readuInt16(); + nUnderline = rStrm.readuChar(); + nFamily = rStrm.readuChar(); + nCharSet = rStrm.readuChar(); rStrm.skip( 1 ); - rStrm >> maModel.maColor >> nScheme >> maModel.maName; + rStrm >> maModel.maColor; + nScheme = rStrm.readuChar(); + rStrm >> maModel.maName; // equal constants in all BIFFs for weight, underline, and escapement maModel.setBiff12Scheme( nScheme ); @@ -1554,7 +1564,8 @@ void Border::importDxfBorder( sal_Int32 nElement, SequenceInputStream& rStrm ) if( BorderLineModel* pBorderLine = getBorderLine( nElement ) ) { sal_uInt16 nStyle; - rStrm >> pBorderLine->maColor >> nStyle; + rStrm >> pBorderLine->maColor; + nStyle = rStrm.readuInt16(); pBorderLine->setBiffStyle( nStyle ); pBorderLine->mbUsed = true; } @@ -1758,7 +1769,12 @@ GradientFillModel::GradientFillModel() : void GradientFillModel::readGradient( SequenceInputStream& rStrm ) { sal_Int32 nType; - rStrm >> nType >> mfAngle >> mfLeft >> mfRight >> mfTop >> mfBottom; + nType = rStrm.readInt32(); + mfAngle = rStrm.readDouble(); + mfLeft = rStrm.readDouble(); + mfRight = rStrm.readDouble(); + mfTop = rStrm.readDouble(); + mfBottom = rStrm.readDouble(); static const sal_Int32 spnTypes[] = { XML_linear, XML_path }; mnType = STATIC_ARRAY_SELECT( spnTypes, nType, XML_TOKEN_INVALID ); } @@ -1770,11 +1786,13 @@ void GradientFillModel::readGradientStop( SequenceInputStream& rStrm, bool bDxf if( bDxf ) { rStrm.skip( 2 ); - rStrm >> fPosition >> aColor; + fPosition = rStrm.readDouble(); + rStrm >> aColor; } else { - rStrm >> aColor >> fPosition; + rStrm >> aColor; + fPosition = rStrm.readDouble(); } if( !rStrm.isEof() && (fPosition >= 0.0) ) maColors[ fPosition ] = aColor; @@ -1874,7 +1892,7 @@ void Fill::importFill( SequenceInputStream& rStrm ) sal_Int32 nStopCount; rStrm.skip( 16 ); mxGradientModel->readGradient( rStrm ); - rStrm >> nStopCount; + nStopCount = rStrm.readInt32(); for( sal_Int32 nStop = 0; (nStop < nStopCount) && !rStrm.isEof(); ++nStop ) mxGradientModel->readGradientStop( rStrm, false ); } @@ -2410,12 +2428,13 @@ void Dxf::importDxf( SequenceInputStream& rStrm ) OUString aFmtCode; sal_uInt16 nRecCount; rStrm.skip( 4 ); // flags - rStrm >> nRecCount; + nRecCount = rStrm.readuInt16(); for( sal_uInt16 nRec = 0; !rStrm.isEof() && (nRec < nRecCount); ++nRec ) { sal_uInt16 nSubRecId, nSubRecSize; sal_Int64 nRecEnd = rStrm.tell(); - rStrm >> nSubRecId >> nSubRecSize; + nSubRecId = rStrm.readuInt16(); + nSubRecSize = rStrm.readuInt16(); nRecEnd += nSubRecSize; switch( nSubRecId ) { @@ -2614,7 +2633,8 @@ void CellStyle::importCellStyle( const AttributeList& rAttribs ) void CellStyle::importCellStyle( SequenceInputStream& rStrm ) { sal_uInt16 nFlags; - rStrm >> maModel.mnXfId >> nFlags; + maModel.mnXfId = rStrm.readInt32(); + nFlags = rStrm.readuInt16(); maModel.mnBuiltinId = rStrm.readInt8(); maModel.mnLevel = rStrm.readInt8(); rStrm >> maModel.maName; diff --git a/sc/source/filter/oox/tablebuffer.cxx b/sc/source/filter/oox/tablebuffer.cxx index 733b70dff4de..1e111b5cd130 100644 --- a/sc/source/filter/oox/tablebuffer.cxx +++ b/sc/source/filter/oox/tablebuffer.cxx @@ -65,7 +65,11 @@ void Table::importTable( SequenceInputStream& rStrm, sal_Int16 nSheet ) { BinRange aBinRange; sal_Int32 nType; - rStrm >> aBinRange >> nType >> maModel.mnId >> maModel.mnHeaderRows >> maModel.mnTotalsRows; + rStrm >> aBinRange; + nType = rStrm.readInt32(); + maModel.mnId = rStrm.readInt32(); + maModel.mnHeaderRows = rStrm.readInt32(); + maModel.mnTotalsRows = rStrm.readInt32(); rStrm.skip( 32 ); rStrm >> maModel.maProgName >> maModel.maDisplayName; diff --git a/sc/source/filter/oox/viewsettings.cxx b/sc/source/filter/oox/viewsettings.cxx index 75fa731dde58..05a70fcd9350 100644 --- a/sc/source/filter/oox/viewsettings.cxx +++ b/sc/source/filter/oox/viewsettings.cxx @@ -247,13 +247,15 @@ void SheetViewSettings::importSheetView( SequenceInputStream& rStrm ) sal_uInt16 nFlags; sal_Int32 nViewType; BinAddress aFirstPos; - rStrm >> nFlags >> nViewType >> aFirstPos; + nFlags = rStrm.readuInt16(); + nViewType = rStrm.readInt32(); + rStrm >> aFirstPos; rModel.maGridColor.importColorId( rStrm ); rModel.mnCurrentZoom = rStrm.readuInt16(); rModel.mnNormalZoom = rStrm.readuInt16(); rModel.mnSheetLayoutZoom = rStrm.readuInt16(); rModel.mnPageLayoutZoom = rStrm.readuInt16(); - rStrm >> rModel.mnWorkbookViewId; + rModel.mnWorkbookViewId = rStrm.readInt32(); rModel.maFirstPos = getAddressConverter().createValidCellAddress( aFirstPos, getSheetIndex(), false ); static const sal_Int32 spnViewTypes[] = { XML_normal, XML_pageBreakPreview, XML_pageLayout }; @@ -278,7 +280,11 @@ void SheetViewSettings::importPane( SequenceInputStream& rStrm ) BinAddress aSecondPos; sal_Int32 nActivePaneId; sal_uInt8 nFlags; - rStrm >> rModel.mfSplitX >> rModel.mfSplitY >> aSecondPos >> nActivePaneId >> nFlags; + rModel.mfSplitX = rStrm.readDouble(); + rModel.mfSplitY = rStrm.readDouble(); + rStrm >> aSecondPos; + nActivePaneId = rStrm.readInt32(); + nFlags = rStrm.readuChar(); rModel.maSecondPos = getAddressConverter().createValidCellAddress( aSecondPos, getSheetIndex(), false ); rModel.mnActivePaneId = lclGetOoxPaneId( nActivePaneId, XML_topLeft ); @@ -296,7 +302,8 @@ void SheetViewSettings::importSelection( SequenceInputStream& rStrm ) PaneSelectionModel& rPaneSel = maSheetViews.back()->createPaneSelection( lclGetOoxPaneId( nPaneId, -1 ) ); // cursor position BinAddress aActiveCell; - rStrm >> aActiveCell >> rPaneSel.mnActiveCellId; + rStrm >> aActiveCell; + rPaneSel.mnActiveCellId = rStrm.readInt32(); rPaneSel.maActiveCell = getAddressConverter().createValidCellAddress( aActiveCell, getSheetIndex(), false ); // selection BinRangeList aSelection; @@ -310,7 +317,9 @@ void SheetViewSettings::importChartSheetView( SequenceInputStream& rStrm ) { SheetViewModel& rModel = *createSheetView(); sal_uInt16 nFlags; - rStrm >> nFlags >> rModel.mnCurrentZoom >> rModel.mnWorkbookViewId; + nFlags = rStrm.readuInt16(); + rModel.mnCurrentZoom = rStrm.readInt32(); + rModel.mnWorkbookViewId = rStrm.readInt32(); rModel.mbSelected = getFlag( nFlags, BIFF12_CHARTSHEETVIEW_SELECTED ); rModel.mbZoomToFit = getFlag( nFlags, BIFF12_CHARTSHEETVIEW_ZOOMTOFIT ); @@ -498,7 +507,14 @@ void ViewSettings::importWorkbookView( SequenceInputStream& rStrm ) { WorkbookViewModel& rModel = createWorkbookView(); sal_uInt8 nFlags; - rStrm >> rModel.mnWinX >> rModel.mnWinY >> rModel.mnWinWidth >> rModel.mnWinHeight >> rModel.mnTabBarWidth >> rModel.mnFirstVisSheet >> rModel.mnActiveSheet >> nFlags; + rModel.mnWinX = rStrm.readInt32(); + rModel.mnWinY = rStrm.readInt32(); + rModel.mnWinWidth = rStrm.readInt32(); + rModel.mnWinHeight = rStrm.readInt32(); + rModel.mnTabBarWidth = rStrm.readInt32(); + rModel.mnFirstVisSheet = rStrm.readInt32(); + rModel.mnActiveSheet = rStrm.readInt32(); + nFlags = rStrm.readuChar(); rModel.mnVisibility = getFlagValue( nFlags, BIFF12_WBVIEW_HIDDEN, XML_hidden, XML_visible ); rModel.mbShowTabBar = getFlag( nFlags, BIFF12_WBVIEW_SHOWTABBAR ); rModel.mbShowHorScroll = getFlag( nFlags, BIFF12_WBVIEW_SHOWHORSCROLL ); diff --git a/sc/source/filter/oox/workbooksettings.cxx b/sc/source/filter/oox/workbooksettings.cxx index cb2b221c0c29..71ee5106fea3 100644 --- a/sc/source/filter/oox/workbooksettings.cxx +++ b/sc/source/filter/oox/workbooksettings.cxx @@ -140,13 +140,16 @@ void WorkbookSettings::importCalcPr( const AttributeList& rAttribs ) void WorkbookSettings::importFileSharing( SequenceInputStream& rStrm ) { maFileSharing.mbRecommendReadOnly = rStrm.readuInt16() != 0; - rStrm >> maFileSharing.mnPasswordHash >> maFileSharing.maUserName; + maFileSharing.mnPasswordHash = rStrm.readuInt16(); + rStrm >> maFileSharing.maUserName; } void WorkbookSettings::importWorkbookPr( SequenceInputStream& rStrm ) { sal_uInt32 nFlags; - rStrm >> nFlags >> maBookSettings.mnDefaultThemeVer >> maBookSettings.maCodeName; + nFlags = rStrm.readuInt32(); + maBookSettings.mnDefaultThemeVer = rStrm.readInt32(); + rStrm >> maBookSettings.maCodeName; maBookSettings.setBiffObjectMode( extractValue< sal_uInt16 >( nFlags, 13, 2 ) ); // set flag means: strip external link values maBookSettings.mbSaveExtLinkValues = !getFlag( nFlags, BIFF12_WORKBOOKPR_STRIPEXT ); @@ -157,7 +160,12 @@ void WorkbookSettings::importCalcPr( SequenceInputStream& rStrm ) { sal_Int32 nCalcMode, nProcCount; sal_uInt16 nFlags; - rStrm >> maCalcSettings.mnCalcId >> nCalcMode >> maCalcSettings.mnIterateCount >> maCalcSettings.mfIterateDelta >> nProcCount >> nFlags; + maCalcSettings.mnCalcId = rStrm.readInt32(); + nCalcMode = rStrm.readInt32(); + maCalcSettings.mnIterateCount = rStrm.readInt32(); + maCalcSettings.mfIterateDelta = rStrm.readDouble(); + nProcCount = rStrm.readInt32(); + nFlags = rStrm.readuInt16(); static const sal_Int32 spnCalcModes[] = { XML_manual, XML_auto, XML_autoNoTable }; maCalcSettings.mnRefMode = getFlagValue( nFlags, BIFF12_CALCPR_A1, XML_A1, XML_R1C1 ); diff --git a/sc/source/filter/oox/worksheetbuffer.cxx b/sc/source/filter/oox/worksheetbuffer.cxx index 85385aaf35f2..23282c1c6ecf 100644 --- a/sc/source/filter/oox/worksheetbuffer.cxx +++ b/sc/source/filter/oox/worksheetbuffer.cxx @@ -68,7 +68,9 @@ void WorksheetBuffer::importSheet( SequenceInputStream& rStrm ) { sal_Int32 nState; SheetInfoModel aModel; - rStrm >> nState >> aModel.mnSheetId >> aModel.maRelId >> aModel.maName; + nState = rStrm.readInt32(); + aModel.mnSheetId = rStrm.readInt32(); + rStrm >> aModel.maRelId >> aModel.maName; static const sal_Int32 spnStates[] = { XML_visible, XML_hidden, XML_veryHidden }; aModel.mnState = STATIC_ARRAY_SELECT( spnStates, nState, XML_visible ); insertSheet( aModel ); diff --git a/sc/source/filter/oox/worksheetfragment.cxx b/sc/source/filter/oox/worksheetfragment.cxx index 9f2ff39c9920..666550f4b7da 100644 --- a/sc/source/filter/oox/worksheetfragment.cxx +++ b/sc/source/filter/oox/worksheetfragment.cxx @@ -162,7 +162,8 @@ void DataValidationsContext::importDataValidation( SequenceInputStream& rStrm ) sal_uInt32 nFlags; BinRangeList aRanges; - rStrm >> nFlags >> aRanges >> aModel.maErrorTitle >> aModel.maErrorMessage >> aModel.maInputTitle >> aModel.maInputMessage; + nFlags = rStrm.readuInt32(); + rStrm >> aRanges >> aModel.maErrorTitle >> aModel.maErrorMessage >> aModel.maInputTitle >> aModel.maInputMessage; // equal flags in all BIFFs aModel.setBiffType( extractValue< sal_uInt8 >( nFlags, 0, 4 ) ); @@ -623,7 +624,10 @@ void WorksheetFragment::importSheetFormatPr( SequenceInputStream& rStrm ) { sal_Int32 nDefaultWidth; sal_uInt16 nBaseWidth, nDefaultHeight, nFlags; - rStrm >> nDefaultWidth >> nBaseWidth >> nDefaultHeight >> nFlags; + nDefaultWidth = rStrm.readInt32(); + nBaseWidth = rStrm.readuInt16(); + nDefaultHeight = rStrm.readuInt16(); + nFlags = rStrm.readuInt16(); // base column with setBaseColumnWidth( nBaseWidth ); @@ -644,7 +648,11 @@ void WorksheetFragment::importCol( SequenceInputStream& rStrm ) sal_Int32 nWidth; sal_uInt16 nFlags; - rStrm >> aModel.maRange.mnFirst >> aModel.maRange.mnLast >> nWidth >> aModel.mnXfId >> nFlags; + aModel.maRange.mnFirst = rStrm.readInt32(); + aModel.maRange.mnLast = rStrm.readInt32(); + nWidth = rStrm.readInt32(); + aModel.mnXfId = rStrm.readInt32(); + nFlags = rStrm.readuInt16(); // column indexes are 0-based in BIFF12, but ColumnModel expects 1-based ++aModel.maRange.mnFirst; @@ -686,7 +694,10 @@ void WorksheetFragment::importBrk( SequenceInputStream& rStrm, bool bRowBreak ) { PageBreakModel aModel; sal_Int32 nManual; - rStrm >> aModel.mnColRow >> aModel.mnMin >> aModel.mnMax >> nManual; + aModel.mnColRow = rStrm.readInt32(); + aModel.mnMin = rStrm.readInt32(); + aModel.mnMax = rStrm.readInt32(); + nManual = rStrm.readInt32(); aModel.mbManual = nManual != 0; setPageBreak( aModel, bRowBreak ); } @@ -706,7 +717,11 @@ void WorksheetFragment::importOleObject( SequenceInputStream& rStrm ) ::oox::vml::OleObjectInfo aInfo; sal_Int32 nAspect, nUpdateMode, nShapeId; sal_uInt16 nFlags; - rStrm >> nAspect >> nUpdateMode >> nShapeId >> nFlags >> aInfo.maProgId; + nAspect = rStrm.readInt32(); + nUpdateMode = rStrm.readInt32(); + nShapeId = rStrm.readInt32(); + nFlags = rStrm.readuInt16(); + rStrm >> aInfo.maProgId; aInfo.mbLinked = getFlag( nFlags, BIFF12_OLEOBJECT_LINKED ); if( aInfo.mbLinked ) aInfo.maTargetLink = getFormulaParser().importOleTargetLink( rStrm ); diff --git a/sc/source/filter/oox/worksheetsettings.cxx b/sc/source/filter/oox/worksheetsettings.cxx index 09483b46fa12..1d0166824fab 100644 --- a/sc/source/filter/oox/worksheetsettings.cxx +++ b/sc/source/filter/oox/worksheetsettings.cxx @@ -187,7 +187,9 @@ void WorksheetSettings::importSheetPr( SequenceInputStream& rStrm ) { sal_uInt16 nFlags1; sal_uInt8 nFlags2; - rStrm >> nFlags1 >> nFlags2 >> maSheetSettings.maTabColor; + nFlags1 = rStrm.readuInt16(); + nFlags2 = rStrm.readuChar(); + rStrm >> maSheetSettings.maTabColor; rStrm.skip( 8 ); // sync anchor cell rStrm >> maSheetSettings.maCodeName; // sheet settings @@ -209,7 +211,7 @@ void WorksheetSettings::importChartSheetPr( SequenceInputStream& rStrm ) void WorksheetSettings::importSheetProtection( SequenceInputStream& rStrm ) { - rStrm >> maSheetProt.mnPasswordHash; + maSheetProt.mnPasswordHash = rStrm.readuInt16(); // no flags field for all these boolean flags?!? maSheetProt.mbSheet = rStrm.readInt32() != 0; maSheetProt.mbObjects = rStrm.readInt32() != 0; @@ -231,7 +233,7 @@ void WorksheetSettings::importSheetProtection( SequenceInputStream& rStrm ) void WorksheetSettings::importChartProtection( SequenceInputStream& rStrm ) { - rStrm >> maSheetProt.mnPasswordHash; + maSheetProt.mnPasswordHash = rStrm.readuInt16(); // no flags field for all these boolean flags?!? maSheetProt.mbSheet = rStrm.readInt32() != 0; maSheetProt.mbObjects = rStrm.readInt32() != 0; |