[Libreoffice-commits] core.git: filter/source formula/source framework/source hwpfilter/source i18npool/source i18nutil/source idlc/source
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Wed Apr 15 17:25:58 UTC 2020
filter/source/svg/svgwriter.cxx | 6 +
formula/source/core/api/FormulaCompiler.cxx | 16 ++---
formula/source/core/api/token.cxx | 16 +++--
framework/source/uielement/popuptoolbarcontroller.cxx | 44 +++++++-------
hwpfilter/source/hiodev.cxx | 5 +
hwpfilter/source/hwpeq.cxx | 37 +++++++++---
hwpfilter/source/hwpfile.cxx | 8 +-
i18npool/source/breakiterator/breakiteratorImpl.cxx | 55 +++++++++++++++---
i18npool/source/localedata/LocaleNode.cxx | 16 ++---
i18nutil/source/utility/casefolding.cxx | 7 +-
i18nutil/source/utility/unicode.cxx | 14 ++--
idlc/source/idlccompile.cxx | 4 -
idlc/source/parser.y | 34 ++++++-----
13 files changed, 172 insertions(+), 90 deletions(-)
New commits:
commit 4cc702a7055c0e12c7cbf5e5e359e7cbc8b88020
Author: Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Wed Apr 15 09:04:38 2020 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Wed Apr 15 19:25:23 2020 +0200
loplugin:buriedassign in f,h,i*
Change-Id: Iac753e528e13cb2565832a484e87f88061bbc91e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92239
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/filter/source/svg/svgwriter.cxx b/filter/source/svg/svgwriter.cxx
index a55dec5b07f2..9493174a4edd 100644
--- a/filter/source/svg/svgwriter.cxx
+++ b/filter/source/svg/svgwriter.cxx
@@ -1727,13 +1727,15 @@ long SVGActionWriter::ImplMap( sal_Int32 nVal ) const
Point& SVGActionWriter::ImplMap( const Point& rPt, Point& rDstPt ) const
{
- return( rDstPt = OutputDevice::LogicToLogic( rPt, mpVDev->GetMapMode(), maTargetMapMode ) );
+ rDstPt = OutputDevice::LogicToLogic( rPt, mpVDev->GetMapMode(), maTargetMapMode );
+ return rDstPt;
}
Size& SVGActionWriter::ImplMap( const Size& rSz, Size& rDstSz ) const
{
- return( rDstSz = OutputDevice::LogicToLogic( rSz, mpVDev->GetMapMode(), maTargetMapMode ) );
+ rDstSz = OutputDevice::LogicToLogic( rSz, mpVDev->GetMapMode(), maTargetMapMode );
+ return rDstSz;
}
diff --git a/formula/source/core/api/FormulaCompiler.cxx b/formula/source/core/api/FormulaCompiler.cxx
index e8c92c990509..f6f7e4876eb0 100644
--- a/formula/source/core/api/FormulaCompiler.cxx
+++ b/formula/source/core/api/FormulaCompiler.cxx
@@ -1396,17 +1396,19 @@ void FormulaCompiler::Factor()
eOp = Expression();
// Do not ignore error here, regardless of mbStopOnError, to not
// change the formula expression in case of an unexpected state.
- if (pArr->GetCodeError() == FormulaError::NONE)
+ if (pArr->GetCodeError() == FormulaError::NONE && pc >= 2)
{
// Left and right operands must be reference or function
// returning reference to form a range list.
- const FormulaToken* p;
- if (pc >= 2
- && ((p = pCode[-2]) != nullptr) && isPotentialRangeType( p, true, false)
- && ((p = pCode[-1]) != nullptr) && isPotentialRangeType( p, true, true))
+ const FormulaToken* p = pCode[-2];
+ if (p && isPotentialRangeType( p, true, false))
{
- pFacToken->NewOpCode( ocUnion, FormulaToken::PrivateAccess());
- PutCode( pFacToken);
+ p = pCode[-1];
+ if (p && isPotentialRangeType( p, true, true))
+ {
+ pFacToken->NewOpCode( ocUnion, FormulaToken::PrivateAccess());
+ PutCode( pFacToken);
+ }
}
}
}
diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx
index 54d0b52eb4b5..0b8b373a9de3 100644
--- a/formula/source/core/api/token.cxx
+++ b/formula/source/core/api/token.cxx
@@ -1392,9 +1392,12 @@ FormulaTokenArray * FormulaTokenArray::RewriteMissing( const MissingConvention &
OpCode eOp;
if (rConv.isPODF() && pCtx[ nFn ].mpFunc && pCtx[ nFn ].mpFunc->GetOpCode() == ocAddress)
pOcas[ nOcas++ ] = nFn; // entering ADDRESS() if PODF
- else if ((rConv.isODFF() || rConv.isOOXML()) && pCtx[ nFn ].mpFunc &&
- ((eOp = pCtx[ nFn ].mpFunc->GetOpCode()) == ocDBCount || eOp == ocDBCount2))
- pOcds[ nOcds++ ] = nFn; // entering DCOUNT() or DCOUNTA() if ODFF or OOXML
+ else if ((rConv.isODFF() || rConv.isOOXML()) && pCtx[ nFn ].mpFunc)
+ {
+ eOp = pCtx[ nFn ].mpFunc->GetOpCode();
+ if (eOp == ocDBCount || eOp == ocDBCount2)
+ pOcds[ nOcds++ ] = nFn; // entering DCOUNT() or DCOUNTA() if ODFF or OOXML
+ }
}
break;
case ocClose:
@@ -1608,10 +1611,11 @@ const FormulaToken* FormulaTokenIterator::PeekNextOperator()
{
const FormulaToken* t = nullptr;
short nIdx = maStack.back().nPC;
- while (!t && ((t = GetNonEndOfPathToken( ++nIdx)) != nullptr))
+ for (;;)
{
- if (t->GetOpCode() == ocPush)
- t = nullptr; // ignore operands
+ t = GetNonEndOfPathToken( ++nIdx);
+ if (t == nullptr || t->GetOpCode() != ocPush)
+ break; // ignore operands
}
if (!t && maStack.size() > 1)
{
diff --git a/framework/source/uielement/popuptoolbarcontroller.cxx b/framework/source/uielement/popuptoolbarcontroller.cxx
index 5c11600c31b9..ea76be37887c 100644
--- a/framework/source/uielement/popuptoolbarcontroller.cxx
+++ b/framework/source/uielement/popuptoolbarcontroller.cxx
@@ -730,29 +730,33 @@ bool Impl_ExistURLInMenu(
{
bool bValidFallback( false );
sal_uInt16 nCount( 0 );
- if ( rPopupMenu.is() && ( nCount = rPopupMenu->getItemCount() ) != 0 && sURL.getLength() )
+ if ( rPopupMenu.is() )
{
- for ( sal_uInt16 n = 0; n < nCount; ++n )
+ nCount = rPopupMenu->getItemCount();
+ if (nCount != 0 && sURL.getLength() )
{
- sal_uInt16 nId = rPopupMenu->getItemId( n );
- OUString aCmd( rPopupMenu->getCommand( nId ) );
-
- if ( !bValidFallback && aCmd.getLength() )
- {
- sFallback = aCmd;
- bValidFallback = true;
- }
-
- // match even if the menu command is more detailed
- // (maybe an additional query) #i28667#
- if ( aCmd.match( sURL ) )
+ for ( sal_uInt16 n = 0; n < nCount; ++n )
{
- sURL = aCmd;
- const css::uno::Reference< css::graphic::XGraphic > xGraphic(
- rPopupMenu->getItemImage( nId ) );
- if ( xGraphic.is() )
- aImage = Image( xGraphic );
- return true;
+ sal_uInt16 nId = rPopupMenu->getItemId( n );
+ OUString aCmd( rPopupMenu->getCommand( nId ) );
+
+ if ( !bValidFallback && aCmd.getLength() )
+ {
+ sFallback = aCmd;
+ bValidFallback = true;
+ }
+
+ // match even if the menu command is more detailed
+ // (maybe an additional query) #i28667#
+ if ( aCmd.match( sURL ) )
+ {
+ sURL = aCmd;
+ const css::uno::Reference< css::graphic::XGraphic > xGraphic(
+ rPopupMenu->getItemImage( nId ) );
+ if ( xGraphic.is() )
+ aImage = Image( xGraphic );
+ return true;
+ }
}
}
}
diff --git a/hwpfilter/source/hiodev.cxx b/hwpfilter/source/hiodev.cxx
index f7cd75ead04a..56d4719e4302 100644
--- a/hwpfilter/source/hiodev.cxx
+++ b/hwpfilter/source/hiodev.cxx
@@ -134,7 +134,10 @@ bool HStreamIODev::setCompressed(bool flag)
{
compressed = flag;
if (flag)
- return nullptr != (_gzfp = gz_open(*_stream));
+ {
+ _gzfp = gz_open(*_stream);
+ return nullptr != _gzfp;
+ }
else if (_gzfp)
{
gz_flush(_gzfp, Z_FINISH);
diff --git a/hwpfilter/source/hwpeq.cxx b/hwpfilter/source/hwpeq.cxx
index 00cf2182866c..5aa6487fae2a 100644
--- a/hwpfilter/source/hwpeq.cxx
+++ b/hwpfilter/source/hwpeq.cxx
@@ -504,13 +504,19 @@ static int next_token(MzString &white, MzString &token, istream *strm)
token = nullptr;
white = nullptr;
- if( !strm->good() || (ch = strm->get()) == std::istream::traits_type::eof() )
+ if( !strm->good() )
+ return 0;
+ ch = strm->get();
+ if( ch == std::istream::traits_type::eof() )
return 0;
// read preceding ws
if( IS_WS(ch) ) {
- do white << static_cast<char>(ch);
- while( IS_WS(ch = strm->get()) );
+ do
+ {
+ white << static_cast<char>(ch);
+ ch = strm->get();
+ } while (IS_WS(ch));
}
if( ch == '\\' || ch & 0x80
@@ -544,8 +550,12 @@ static int next_token(MzString &white, MzString &token, istream *strm)
token = "^";
}
else if( IS_BINARY(ch) ) {
- do token << static_cast<char>(ch);
- while( IS_BINARY(ch = strm->get()) );
+ do
+ {
+ token << static_cast<char>(ch);
+ ch = strm->get();
+ }
+ while( IS_BINARY(ch) );
strm->putback(static_cast<char>(ch));
}
else if( ch != std::istream::traits_type::eof() && rtl::isAsciiDigit(ch) ) {
@@ -572,8 +582,13 @@ static std::istream::int_type read_white_space(MzString& outs, istream *strm)
}
else {
std::istream::int_type ch;
- while( IS_WS(ch = strm->get()) )
- outs << static_cast<char>(ch);
+ for (;;)
+ {
+ ch = strm->get();
+ if (!IS_WS(ch))
+ break;
+ outs << static_cast<char>(ch);
+ }
strm->putback(static_cast<char>(ch));
result = ch;
}
@@ -741,9 +756,13 @@ static char eq2ltxconv(MzString& sstr, istream *strm, const char *sentinel)
sstr.replace(pos, ' ');
}
sstr << token;
- while( (ch = strm->get()) != std::istream::traits_type::eof()
- && IS_WS(ch) )
+ for (;;)
+ {
+ ch = strm->get();
+ if ( ch == std::istream::traits_type::eof() || !IS_WS(ch) )
+ break;
sstr << static_cast<char>(ch);
+ }
if( ch != '{' )
sstr << "{}";
else {
diff --git a/hwpfilter/source/hwpfile.cxx b/hwpfilter/source/hwpfile.cxx
index b7031bb10444..8be445919ed4 100644
--- a/hwpfilter/source/hwpfile.cxx
+++ b/hwpfilter/source/hwpfile.cxx
@@ -106,11 +106,11 @@ int HWPFile::Open(std::unique_ptr<HStream> stream)
char idstr[HWPIDLen];
- if (ReadBlock(idstr, HWPIDLen) < HWPIDLen
- || HWP_V30 != (version = detect_hwp_version(idstr)))
- {
+ if (ReadBlock(idstr, HWPIDLen) < HWPIDLen)
+ return SetState(HWP_UNSUPPORTED_VERSION);
+ version = detect_hwp_version(idstr);
+ if (HWP_V30 != version)
return SetState(HWP_UNSUPPORTED_VERSION);
- }
return HWP_NoError;
}
diff --git a/i18npool/source/breakiterator/breakiteratorImpl.cxx b/i18npool/source/breakiterator/breakiteratorImpl.cxx
index 30a2d9105459..a6ce162270ef 100644
--- a/i18npool/source/breakiterator/breakiteratorImpl.cxx
+++ b/i18npool/source/breakiterator/breakiteratorImpl.cxx
@@ -75,23 +75,57 @@ static sal_Int32 skipSpace(const OUString& Text, sal_Int32 nPos, sal_Int32 len,
switch (rWordType) {
case WordType::ANYWORD_IGNOREWHITESPACES:
if (bDirection)
- while (nPos < len && (u_isWhitespace(ch = Text.iterateCodePoints(&pos)) || isZWSP(ch))) nPos=pos;
+ while (nPos < len)
+ {
+ ch = Text.iterateCodePoints(&pos);
+ if (!u_isWhitespace(ch) && !isZWSP(ch))
+ break;
+ nPos = pos;
+ }
else
- while (nPos > 0 && (u_isWhitespace(ch = Text.iterateCodePoints(&pos, -1)) || isZWSP(ch))) nPos=pos;
+ while (nPos > 0)
+ {
+ ch = Text.iterateCodePoints(&pos, -1);
+ if (!u_isWhitespace(ch) && !isZWSP(ch))
+ break;
+ nPos = pos;
+ }
break;
case WordType::DICTIONARY_WORD:
if (bDirection)
- while (nPos < len && (u_isWhitespace(ch = Text.iterateCodePoints(&pos)) || isZWSP(ch) ||
- ! (ch == 0x002E || u_isalnum(ch)))) nPos=pos;
+ while (nPos < len)
+ {
+ ch = Text.iterateCodePoints(&pos);
+ if (!u_isWhitespace(ch) && !isZWSP(ch) && (ch == 0x002E || u_isalnum(ch)))
+ break;
+ nPos = pos;
+ }
else
- while (nPos > 0 && (u_isWhitespace(ch = Text.iterateCodePoints(&pos, -1)) || isZWSP(ch) ||
- ! (ch == 0x002E || u_isalnum(ch)))) nPos=pos;
+ while (nPos > 0)
+ {
+ ch = Text.iterateCodePoints(&pos, -1);
+ if (!u_isWhitespace(ch) && !isZWSP(ch) && (ch == 0x002E || u_isalnum(ch)))
+ break;
+ nPos = pos;
+ }
break;
case WordType::WORD_COUNT:
if (bDirection)
- while (nPos < len && (u_isUWhiteSpace(ch = Text.iterateCodePoints(&pos)) || isZWSP(ch))) nPos=pos;
+ while (nPos < len)
+ {
+ ch = Text.iterateCodePoints(&pos);
+ if (!u_isUWhiteSpace(ch) && !isZWSP(ch))
+ break;
+ nPos = pos;
+ }
else
- while (nPos > 0 && (u_isUWhiteSpace(ch = Text.iterateCodePoints(&pos, -1)) || isZWSP(ch))) nPos=pos;
+ while (nPos > 0)
+ {
+ ch = Text.iterateCodePoints(&pos, -1);
+ if (!u_isUWhiteSpace(ch) && !isZWSP(ch))
+ break;
+ nPos = pos;
+ }
break;
}
return nPos;
@@ -578,7 +612,10 @@ BreakIteratorImpl::getLocaleSpecificBreakIterator(const Locale& rLocale)
for (const lookupTableItem& listItem : lookupTable) {
if (rLocale == listItem.aLocale)
- return xBI = listItem.xBI;
+ {
+ xBI = listItem.xBI;
+ return xBI;
+ }
}
OUStringLiteral under("_");
diff --git a/i18npool/source/localedata/LocaleNode.cxx b/i18npool/source/localedata/LocaleNode.cxx
index 38c0bce2055d..dd23465bea19 100644
--- a/i18npool/source/localedata/LocaleNode.cxx
+++ b/i18npool/source/localedata/LocaleNode.cxx
@@ -688,14 +688,16 @@ void LCFormatNode::generateCode (const OFileWriter &of) const
case cssi::NumberFormatIndex::CURRENCY_1000DEC2 :
// Remember the currency symbol if present.
{
- sal_Int32 nStart;
- if (sTheCompatibleCurrency.isEmpty() &&
- ((nStart = n->getValue().indexOf("[$")) >= 0))
+ if (sTheCompatibleCurrency.isEmpty())
{
- const OUString& aCode( n->getValue());
- sal_Int32 nHyphen = aCode.indexOf( '-', nStart);
- if (nHyphen >= nStart + 3)
- sTheCompatibleCurrency = aCode.copy( nStart + 2, nHyphen - nStart - 2);
+ sal_Int32 nStart = n->getValue().indexOf("[$");
+ if (nStart >= 0)
+ {
+ const OUString& aCode( n->getValue());
+ sal_Int32 nHyphen = aCode.indexOf( '-', nStart);
+ if (nHyphen >= nStart + 3)
+ sTheCompatibleCurrency = aCode.copy( nStart + 2, nHyphen - nStart - 2);
+ }
}
}
[[fallthrough]];
diff --git a/i18nutil/source/utility/casefolding.cxx b/i18nutil/source/utility/casefolding.cxx
index cf3a716701e3..57a6a23bc561 100644
--- a/i18nutil/source/utility/casefolding.cxx
+++ b/i18nutil/source/utility/casefolding.cxx
@@ -135,9 +135,10 @@ Mapping casefolding::getValue(const sal_Unicode* str, sal_Int32 pos, sal_Int32 l
static bool
is_ja_voice_sound_mark(sal_Unicode& current, sal_Unicode next)
{
- sal_Unicode c = 0;
-
- if ((next == 0x3099 || next == 0x309a) && ( (c = widthfolding::getCompositionChar(current, next)) != 0 ))
+ if (!(next == 0x3099 || next == 0x309a))
+ return false;
+ sal_Unicode c = widthfolding::getCompositionChar(current, next);
+ if (c != 0)
current = c;
return c != 0;
}
diff --git a/i18nutil/source/utility/unicode.cxx b/i18nutil/source/utility/unicode.cxx
index 95b455683833..4e0a0e45e126 100644
--- a/i18nutil/source/utility/unicode.cxx
+++ b/i18nutil/source/utility/unicode.cxx
@@ -73,8 +73,11 @@ unicode::getUnicodeType( const sal_Unicode ch ) {
else c = ch;
sal_Int16 address = UnicodeTypeIndex[ch >> 8];
- return r = static_cast<sal_Int16>((address < UnicodeTypeNumberBlock) ? UnicodeTypeBlockValue[address] :
- UnicodeTypeValue[((address - UnicodeTypeNumberBlock) << 8) + (ch & 0xff)]);
+ r = static_cast<sal_Int16>(
+ (address < UnicodeTypeNumberBlock)
+ ? UnicodeTypeBlockValue[address]
+ : UnicodeTypeValue[((address - UnicodeTypeNumberBlock) << 8) + (ch & 0xff)]);
+ return r;
}
sal_uInt8
@@ -86,9 +89,10 @@ unicode::getUnicodeDirection( const sal_Unicode ch ) {
else c = ch;
sal_Int16 address = UnicodeDirectionIndex[ch >> 8];
- return r = ((address < UnicodeDirectionNumberBlock) ? UnicodeDirectionBlockValue[address] :
- UnicodeDirectionValue[((address - UnicodeDirectionNumberBlock) << 8) + (ch & 0xff)]);
-
+ r = (address < UnicodeDirectionNumberBlock)
+ ? UnicodeDirectionBlockValue[address]
+ : UnicodeDirectionValue[((address - UnicodeDirectionNumberBlock) << 8) + (ch & 0xff)];
+ return r;
}
#define bit(name) (1U << name)
diff --git a/idlc/source/idlccompile.cxx b/idlc/source/idlccompile.cxx
index c2fc601142e2..8db6d82a026f 100644
--- a/idlc/source/idlccompile.cxx
+++ b/idlc/source/idlccompile.cxx
@@ -185,8 +185,8 @@ bool copyFile(const OString* source, const OString& target)
while ( !feof(pSource) )
{
- size_t readSize;
- if ( (readSize = fread(pBuffer, 1, totalSize, pSource)) > 0 && !ferror(pSource) )
+ size_t readSize = fread(pBuffer, 1, totalSize, pSource);
+ if ( readSize > 0 && !ferror(pSource) )
{
if ( (fwrite(pBuffer, 1, readSize, pTarget)) != readSize || ferror(pTarget) )
{
diff --git a/idlc/source/parser.y b/idlc/source/parser.y
index 40e82ef85216..1d81492562d5 100644
--- a/idlc/source/parser.y
+++ b/idlc/source/parser.y
@@ -1430,22 +1430,26 @@ const_type :
* If the constant's type is a scoped name, it must resolve
* to a scalar constant type
*/
- if ( pScope && (type = pScope->lookupByName(*$1)) ) {
- if (!ErrorHandler::checkPublished(type))
- {
- type = nullptr;
- $$ = ET_none;
- }
- else
- {
- type = resolveTypedefs(type);
- if (type->getNodeType() == NT_predefined)
+ if ( pScope ) {
+ type = pScope->lookupByName(*$1);
+ if (type) {
+ if (!ErrorHandler::checkPublished(type))
{
- $$ = static_cast< AstBaseType const * >(type)->
- getExprType();
- } else
- $$ = ET_any;
- }
+ type = nullptr;
+ $$ = ET_none;
+ }
+ else
+ {
+ type = resolveTypedefs(type);
+ if (type->getNodeType() == NT_predefined)
+ {
+ $$ = static_cast< AstBaseType const * >(type)->
+ getExprType();
+ } else
+ $$ = ET_any;
+ }
+ } else
+ $$ = ET_any;
} else
$$ = ET_any;
}
More information about the Libreoffice-commits
mailing list