diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2013-06-16 15:33:30 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2013-06-16 16:07:38 +0200 |
commit | 7f73b52db74dd3df2784de1ac40e2a4c535446ae (patch) | |
tree | 5f8d87c9614bcbb059ff5f4d19d0ce9c1ac8e107 /sc | |
parent | a29d20932c89685e7a72f05efb25177cb178fd22 (diff) |
some small improvements for the FILTERXML function
Change-Id: I4b4e814d90592f318afb3a9a6965ad8e3df07cae
Diffstat (limited to 'sc')
-rw-r--r-- | sc/source/core/tool/interpr7.cxx | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/sc/source/core/tool/interpr7.cxx b/sc/source/core/tool/interpr7.cxx index 510deddef46e..b3363bc66997 100644 --- a/sc/source/core/tool/interpr7.cxx +++ b/sc/source/core/tool/interpr7.cxx @@ -107,35 +107,46 @@ void ScInterpreter::ScFilterXML() aResult = OUString::createFromAscii((char*)pChar2.get()); } } + else + { + PushError( errNoValue ); + return; + } } + PushString(aResult); break; case XPATH_BOOLEAN: - assert(false); + { + bool bVal = pXPathObj->boolval != 0; + PushDouble(bVal); + } break; case XPATH_NUMBER: - assert(false); + { + double fVal = pXPathObj->floatval; + PushDouble(fVal); + } break; case XPATH_STRING: - assert(false); + PushString(OUString::createFromAscii((char*)pXPathObj->stringval)); break; case XPATH_POINT: - assert(false); + PushNoValue(); break; case XPATH_RANGE: - assert(false); + PushNoValue(); break; case XPATH_LOCATIONSET: - assert(false); + PushNoValue(); break; case XPATH_USERS: - assert(false); + PushNoValue(); break; case XPATH_XSLT_TREE: - assert(false); + PushNoValue(); break; } - PushString(aResult); } } |