From 9ec8bf8f22fe74884185492ef2576ce79b41e4f1 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Thu, 11 Oct 2018 18:49:34 +0200 Subject: add SvStream::TellEnd and simplify callsites to use it instead of the current "seek to end, find pos, seek back to original pos" pattern Change-Id: Ib5828868f73c341891efc759af8bd4695ae2f33c Reviewed-on: https://gerrit.libreoffice.org/61738 Tested-by: Jenkins Reviewed-by: Noel Grandin --- extensions/source/scanner/sane.cxx | 3 +-- extensions/source/scanner/scanunx.cxx | 10 ++++------ 2 files changed, 5 insertions(+), 8 deletions(-) (limited to 'extensions') diff --git a/extensions/source/scanner/sane.cxx b/extensions/source/scanner/sane.cxx index 824c0cdf6fc1..0c6b50bec05c 100644 --- a/extensions/source/scanner/sane.cxx +++ b/extensions/source/scanner/sane.cxx @@ -860,8 +860,7 @@ bool Sane::Start( BitmapTransporter& rBitmap ) bSuccess = false; } // get stream length - aConverter.Seek( STREAM_SEEK_TO_END ); - int nPos = aConverter.Tell(); + int nPos = aConverter.TellEnd(); aConverter.Seek( 2 ); aConverter.WriteUInt32( nPos+1 ); diff --git a/extensions/source/scanner/scanunx.cxx b/extensions/source/scanner/scanunx.cxx index 37b7b2999ac2..3225cab44b06 100644 --- a/extensions/source/scanner/scanunx.cxx +++ b/extensions/source/scanner/scanunx.cxx @@ -40,21 +40,20 @@ BitmapTransporter::~BitmapTransporter() css::awt::Size BitmapTransporter::getSize() { osl::MutexGuard aGuard( m_aProtector ); - int nPreviousPos = m_aStream.Tell(); css::awt::Size aRet; // ensure that there is at least a header - m_aStream.Seek( STREAM_SEEK_TO_END ); - int nLen = m_aStream.Tell(); + int nLen = m_aStream.TellEnd(); if( nLen > 15 ) { + int nPreviousPos = m_aStream.Tell(); m_aStream.Seek( 4 ); m_aStream.ReadInt32( aRet.Width ).ReadInt32( aRet.Height ); + m_aStream.Seek( nPreviousPos ); } else aRet.Width = aRet.Height = 0; - m_aStream.Seek( nPreviousPos ); return aRet; } @@ -66,8 +65,7 @@ Sequence< sal_Int8 > BitmapTransporter::getDIB() int nPreviousPos = m_aStream.Tell(); // create return value - m_aStream.Seek( STREAM_SEEK_TO_END ); - int nBytes = m_aStream.Tell(); + int nBytes = m_aStream.TellEnd(); m_aStream.Seek( 0 ); Sequence< sal_Int8 > aValue( nBytes ); -- cgit