ScInterpreter::GetString() with svDoubleRef type of argument
Winfried Donkers
W.Donkers at dci-electronics.nl
Fri Feb 13 01:09:58 PST 2015
Hi,
I was pointed to a possible bug with Calc function LEFT() when entering an array for the text argument. In some cases it worked, in other it didn't. I created bug 89358 with an attachment showing the behaviour.
I found out it is because when ScInterpreter::GetString() is called when the stack value is an array (svDoubleRef), the string is taken from the array dependent on the relative position of the formula (ScInterpreter::DoubleRefToPosSingleRef()).
As ScInterpreter::GetString() is used in all Calc functions accepting text arguments, I don't know if there cases where this formula-position-dependent cell picking from arrays is useful. Therefor, changing that code may produce unwanted results elsewhere.
Does anyone know of cases where this formula-position-dependent stuff is needed?
I would like to change the code so that -if no formula-position-dependent stuff is needed - the top left cell of the range is used.
The specific code has been there since September 2000 at least.
Winfried
More information about the LibreOffice
mailing list