The function valtostr() cannot handle data sets as value input currently.
The issue is that the corresponding string handling function static string parser_ApplySpecialStringFunc() doesn't check for data sets in the evaluation of the valtostr() arguments. To fix this behavior, one has to add a check for "data(" and for _data.containsCacheElements() to the corresponding argument. Add the following lines to the string handling function around line 2025:
(...)
if (!containsStrings(sExpr) && !_data.containsStringVArs(sExpr) (...))
{
// Add these two lines
if (sExpr.find("data(") != string::npos || _data.containsCacheElements(sExpr))
getDataElements(sExpr, _parser, _data, _option);
int nResults = 0;
value_type* v = 0;
(...)
Fix was added to the automatic tests. Deviation was resolved. Bug fix implemented successfully.
Anonymous
Diff:
Diff:
Diff:
Appended a testing file, which is also valid for ticket [#403].
Related
Tickets:
#403Last edit: Erik Hänel 2018-11-24
Diff:
Related
Commit: [r451]
Diff: