external/liblangtag/ExternalPackage_liblangtag_data.mk | 1 sc/source/core/inc/interpre.hxx | 1 sc/source/core/tool/interpr4.cxx | 38 ++++------------- 3 files changed, 13 insertions(+), 27 deletions(-)
New commits: commit 463843656731758f7e9292c03ab85b302e4bba0d Author: Maarten Bosmans <[email protected]> Date: Tue Sep 20 20:52:52 2016 +0200 Factor out common ScInterpreter::GetInt32() code This might also be slightly more efficient because for GetInt32WithDefault() when the value is missing, the default value is not converted to and from double anymore. Change-Id: I0a234265273086824f749b04aba022dd5cef322f Reviewed-on: https://gerrit.libreoffice.org/29203 Tested-by: Jenkins <[email protected]> Reviewed-by: Eike Rathke <[email protected]> diff --git a/sc/source/core/inc/interpre.hxx b/sc/source/core/inc/interpre.hxx index f076c54..296ad4b 100644 --- a/sc/source/core/inc/interpre.hxx +++ b/sc/source/core/inc/interpre.hxx @@ -411,6 +411,7 @@ double GetDoubleFromMatrix(const ScMatrixRef& pMat); double GetDouble(); double GetDoubleWithDefault(double nDefault); bool IsMissing(); +sal_Int32 double_to_int32(double fVal); /** if GetDouble() not within int32 limits sets nGlobalError and returns SAL_MAX_INT32 */ sal_Int32 GetInt32(); /** if GetDoubleWithDefault() not within int32 limits sets nGlobalError and returns SAL_MAX_INT32 */ diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx index d94c74c..174eeb0 100644 --- a/sc/source/core/tool/interpr4.cxx +++ b/sc/source/core/tool/interpr4.cxx @@ -2146,9 +2146,8 @@ double ScInterpreter::GetDoubleWithDefault(double nDefault) return nResultVal; } -sal_Int32 ScInterpreter::GetInt32() +sal_Int32 ScInterpreter::double_to_int32(double fVal) { - double fVal = GetDouble(); if (!rtl::math::isFinite(fVal)) { SetError( GetDoubleErrorValue( fVal)); @@ -2175,33 +2174,18 @@ sal_Int32 ScInterpreter::GetInt32() return static_cast<sal_Int32>(fVal); } +sal_Int32 ScInterpreter::GetInt32() +{ + return double_to_int32(GetDouble()); +} + sal_Int32 ScInterpreter::GetInt32WithDefault( sal_Int32 nDefault ) { - double fVal = GetDoubleWithDefault( nDefault); - if (!rtl::math::isFinite(fVal)) - { - SetError( GetDoubleErrorValue( fVal)); - return SAL_MAX_INT32; - } - if (fVal > 0.0) - { - fVal = rtl::math::approxFloor( fVal); - if (fVal > SAL_MAX_INT32) - { - SetError( errIllegalArgument); - return SAL_MAX_INT32; - } - } - else if (fVal < 0.0) - { - fVal = rtl::math::approxCeil( fVal); - if (fVal < SAL_MIN_INT32) - { - SetError( errIllegalArgument); - return SAL_MAX_INT32; - } - } - return static_cast<sal_Int32>(fVal); + bool bMissing = IsMissing(); + double fVal = GetDouble(); + if ( bMissing ) + return nDefault; + return double_to_int32(fVal); } sal_Int16 ScInterpreter::GetInt16() commit 680b1b5976197e378b091c9f9abeb5d33c6ede5c Author: Michael Stahl <[email protected]> Date: Fri Sep 23 12:29:59 2016 +0200 liblangtag: stop whining about missing supplementalMetadata.xml A good way to get developers to add files is to print 80 lines of stack trace multiple times on startup. Change-Id: Id563ab1d26d32e6fe3f14b2afb59949ea04f0d6a diff --git a/external/liblangtag/ExternalPackage_liblangtag_data.mk b/external/liblangtag/ExternalPackage_liblangtag_data.mk index d1468e2..c879bd2 100644 --- a/external/liblangtag/ExternalPackage_liblangtag_data.mk +++ b/external/liblangtag/ExternalPackage_liblangtag_data.mk @@ -31,6 +31,7 @@ $(eval $(call gb_ExternalPackage_add_unpacked_files,liblangtag_data,$(LIBO_SHARE $(eval $(call gb_ExternalPackage_add_unpacked_files,liblangtag_data,$(LIBO_SHARE_FOLDER)/liblangtag/common/supplemental,\ data/common/supplemental/likelySubtags.xml \ + data/common/supplemental/supplementalMetadata.xml \ )) # vim: set shiftwidth=4 tabstop=4 noexpandtab: _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
