summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWinfried Donkers <winfrieddonkers@libreoffice.org>2015-01-19 17:41:52 +0100
committerEike Rathke <erack@redhat.com>2015-01-20 14:21:30 +0000
commit104a1e641554be2e789758ae67c0e24620df8035 (patch)
treea0bc70b529fdecf0fd7ebfc7051bd26582e37879
parent7818c73445ad8e08e7ee51e2cc3a4b4d5a798ac4 (diff)
fdo#88547 allow inline date-arrays for array functions
Change-Id: I090633944f6514964949566ffe94038b565abff4 Reviewed-on: https://gerrit.libreoffice.org/14019 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Eike Rathke <erack@redhat.com>
-rw-r--r--sc/source/core/tool/interpr3.cxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/sc/source/core/tool/interpr3.cxx b/sc/source/core/tool/interpr3.cxx
index 67a5b12f86e1..998263d8794f 100644
--- a/sc/source/core/tool/interpr3.cxx
+++ b/sc/source/core/tool/interpr3.cxx
@@ -3719,6 +3719,14 @@ void ScInterpreter::GetNumberSequenceArray( sal_uInt8 nParamCount, vector<double
for (SCSIZE i = 0; i < nCount; ++i)
if (!pMat->IsString(i))
rArray.push_back( pMat->GetDouble(i));
+ else
+ {
+ // fdo 88547 try to convert string to (date)value
+ OUString aStr = pMat->GetString( i ).getString();
+ double fVal = ConvertStringToValue( aStr );
+ if ( !nGlobalError )
+ rArray.push_back( fVal );
+ }
}
}
break;
@@ -3739,7 +3747,6 @@ void ScInterpreter::GetNumberSequenceArray( sal_uInt8 nParamCount, vector<double
void ScInterpreter::GetSortArray( sal_uInt8 nParamCount, vector<double>& rSortArray, vector<long>* pIndexOrder )
{
GetNumberSequenceArray( nParamCount, rSortArray);
-
if (rSortArray.size() > MAX_ANZ_DOUBLE_FOR_SORT)
SetError( errStackOverflow);
else if (rSortArray.empty())