summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2021-04-08 03:04:13 +0200
committerJan-Marek Glogowski <glogow@fbihome.de>2021-04-08 04:30:19 +0200
commit58e299f7c26fd0e5094fb68a30349c5962c003ef (patch)
tree2ac21dd0be45e2a23a329b19a16b87aa5acad1d7
parentfaccfb6e7d692d5b562e5687034350b1873b426a (diff)
Downgrade to liborcus 0.15 and mdds 0.15
... so LO can build with stock Ubuntu 20.04. Change-Id: I7c2647ba932f4c6d8f540fca1a531d498c5c3675
-rw-r--r--RepositoryExternal.mk4
-rw-r--r--configure.ac2
-rw-r--r--download.lst8
-rw-r--r--external/liborcus/ExternalPackage_liborcus.mk8
-rw-r--r--external/liborcus/ExternalProject_liborcus.mk4
-rw-r--r--external/liborcus/Library_orcus-parser.mk1
-rw-r--r--external/liborcus/Library_orcus.mk4
-rw-r--r--external/liborcus/UnpackedTarball_liborcus.mk1
-rw-r--r--external/liborcus/include.patch.030
-rw-r--r--external/liborcus/libtool.patch.010
-rw-r--r--external/liborcus/windows-constants-hack.patch2
-rw-r--r--external/mdds/UnpackedTarball_mdds.mk5
-rw-r--r--external/mdds/Wdeprecated-copy.patch11
-rw-r--r--sc/source/filter/inc/orcusinterface.hxx16
-rw-r--r--sc/source/filter/orcus/interface.cxx78
-rw-r--r--sc/source/filter/orcus/xmlcontext.cxx7
-rw-r--r--sc/source/ui/xmlsource/xmlsourcedlg.cxx6
17 files changed, 67 insertions, 130 deletions
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 46b42b5fea32..59426f1647a7 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -3286,7 +3286,7 @@ $(call gb_LinkTarget_set_include,$(1),\
)
$(call gb_LinkTarget_add_libs,$(1),\
- -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.16 \
+ -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/liborcus/.libs -lorcus-0.15 \
)
$(if $(SYSTEM_BOOST), \
@@ -3305,7 +3305,7 @@ $(call gb_LinkTarget_set_include,$(1),\
)
$(call gb_LinkTarget_add_libs,$(1),\
- -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.16 \
+ -L$(call gb_UnpackedTarball_get_dir,liborcus)/src/parser/.libs -lorcus-parser-0.15 \
)
endef
diff --git a/configure.ac b/configure.ac
index 3df488a662c2..09f6dd085c8e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10433,7 +10433,7 @@ AC_SUBST(ENABLE_FUZZERS)
dnl ===================================================================
dnl Orcus
dnl ===================================================================
-libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.16 >= 0.16.0])
+libo_CHECK_SYSTEM_MODULE([orcus],[ORCUS],[liborcus-0.15 >= 0.15.0])
if test "$with_system_orcus" != "yes"; then
if test "$SYSTEM_BOOST" = "TRUE"; then
# ===========================================================
diff --git a/download.lst b/download.lst
index 3c3462552d74..4987042fc0a6 100644
--- a/download.lst
+++ b/download.lst
@@ -180,8 +180,8 @@ export LXML_SHA256SUM := 940caef1ec7c78e0c34b0f6b94fe42d0f2022915ffc78643d28538a
export LXML_TARBALL := lxml-4.1.1.tgz
export MARIADB_CONNECTOR_C_SHA256SUM := 431434d3926f4bcce2e5c97240609983f60d7ff50df5a72083934759bb863f7b
export MARIADB_CONNECTOR_C_TARBALL := mariadb-connector-c-3.1.8-src.tar.gz
-export MDDS_SHA256SUM := a66a2a8293a3abc6cd9baff7c236156e2666935cbfb69a15d64d38141638fecf
-export MDDS_TARBALL := mdds-1.7.0.tar.bz2
+export MDDS_SHA256SUM := 144d6debd7be32726f332eac14ef9f17e2d3cf89cb3250eb31a7127e0789680d
+export MDDS_TARBALL := mdds-1.5.0.tar.bz2
export MDNSRESPONDER_SHA256SUM := e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0
export MDNSRESPONDER_TARBALL := mDNSResponder-878.200.35.tar.gz
export MSPUB_SHA256SUM := ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba
@@ -206,8 +206,8 @@ export OPENLDAP_SHA256SUM := cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb89
export OPENLDAP_TARBALL := openldap-2.4.45.tgz
export OPENSSL_SHA256SUM := e8be6a35fe41d10603c3cc635e93289ed00bf34b79671a3a4de64fcee00d5242
export OPENSSL_TARBALL := openssl-1.1.1i.tar.gz
-export ORCUS_SHA256SUM := c700d1325f744104d9fca0d5a019434901e9d51a16eedfb05792f90a298587a4
-export ORCUS_TARBALL := liborcus-0.16.1.tar.bz2
+export ORCUS_SHA256SUM := cfb2aa60825f2a78589ed030c07f46a1ee16ef8a2d1bf2279192fbc1ae5a5f61
+export ORCUS_TARBALL := liborcus-0.15.4.tar.bz2
export PAGEMAKER_SHA256SUM := 66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d
export PAGEMAKER_TARBALL := libpagemaker-0.0.4.tar.xz
export PDFIUM_SHA256SUM := c95d11cf9d05fbf49831b7436d93191f85e3daba2b2b061a7f1327856fc4908f
diff --git a/external/liborcus/ExternalPackage_liborcus.mk b/external/liborcus/ExternalPackage_liborcus.mk
index 747691809d2e..21dd1bfb1ce5 100644
--- a/external/liborcus/ExternalPackage_liborcus.mk
+++ b/external/liborcus/ExternalPackage_liborcus.mk
@@ -12,11 +12,11 @@ $(eval $(call gb_ExternalPackage_ExternalPackage,liborcus,liborcus))
$(eval $(call gb_ExternalPackage_use_external_project,liborcus,liborcus))
ifeq ($(OS),MACOSX)
-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.16.0.dylib,src/liborcus/.libs/liborcus-0.16.0.dylib))
-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.16.0.dylib,src/parser/.libs/liborcus-parser-0.16.0.dylib))
+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.15.0.dylib,src/liborcus/.libs/liborcus-0.15.0.dylib))
+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.15.0.dylib,src/parser/.libs/liborcus-parser-0.15.0.dylib))
else ifeq ($(DISABLE_DYNLOADING),)
-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.16.so.0,src/liborcus/.libs/liborcus-0.16.so.0.0.0))
-$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.16.so.0,src/parser/.libs/liborcus-parser-0.16.so.0.0.0))
+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-0.15.so.0,src/liborcus/.libs/liborcus-0.15.so.0.0.0))
+$(eval $(call gb_ExternalPackage_add_file,liborcus,$(LIBO_LIB_FOLDER)/liborcus-parser-0.15.so.0,src/parser/.libs/liborcus-parser-0.15.so.0.0.0))
endif
# vim: set noet sw=4 ts=4:
diff --git a/external/liborcus/ExternalProject_liborcus.mk b/external/liborcus/ExternalProject_liborcus.mk
index c2a8cdcbe4a3..136fa538397e 100644
--- a/external/liborcus/ExternalProject_liborcus.mk
+++ b/external/liborcus/ExternalProject_liborcus.mk
@@ -123,8 +123,8 @@ $(call gb_ExternalProject_get_state_target,liborcus,build) :
$(MAKE) \
$(if $(filter MACOSX,$(OS)),\
&& $(PERL) $(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
- $(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.16.0.dylib \
- $(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.16.0.dylib \
+ $(EXTERNAL_WORKDIR)/src/liborcus/.libs/liborcus-0.15.0.dylib \
+ $(EXTERNAL_WORKDIR)/src/parser/.libs/liborcus-parser-0.15.0.dylib \
) \
)
$(call gb_Trace_EndRange,liborcus,EXTERNAL)
diff --git a/external/liborcus/Library_orcus-parser.mk b/external/liborcus/Library_orcus-parser.mk
index 4e46591b98fe..d3cbddbb8cec 100644
--- a/external/liborcus/Library_orcus-parser.mk
+++ b/external/liborcus/Library_orcus-parser.mk
@@ -63,7 +63,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus-parser,\
UnpackedTarball/liborcus/src/parser/tokens \
UnpackedTarball/liborcus/src/parser/types \
UnpackedTarball/liborcus/src/parser/xml_namespace \
- UnpackedTarball/liborcus/src/parser/xml_writer \
UnpackedTarball/liborcus/src/parser/yaml_parser_base \
UnpackedTarball/liborcus/src/parser/zip_archive \
UnpackedTarball/liborcus/src/parser/zip_archive_stream \
diff --git a/external/liborcus/Library_orcus.mk b/external/liborcus/Library_orcus.mk
index 0a0ca582882a..ea99e7509fbf 100644
--- a/external/liborcus/Library_orcus.mk
+++ b/external/liborcus/Library_orcus.mk
@@ -85,7 +85,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\
UnpackedTarball/liborcus/src/liborcus/odf_tokens \
UnpackedTarball/liborcus/src/liborcus/ods_content_xml_context \
UnpackedTarball/liborcus/src/liborcus/ods_content_xml_handler \
- UnpackedTarball/liborcus/src/liborcus/ods_dde_links_context \
UnpackedTarball/liborcus/src/liborcus/ods_session_data \
UnpackedTarball/liborcus/src/liborcus/ooxml_content_types \
UnpackedTarball/liborcus/src/liborcus/ooxml_global \
@@ -104,7 +103,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\
UnpackedTarball/liborcus/src/liborcus/orcus_xls_xml \
UnpackedTarball/liborcus/src/liborcus/orcus_xlsx \
UnpackedTarball/liborcus/src/liborcus/orcus_xml \
- UnpackedTarball/liborcus/src/liborcus/orcus_xml_impl \
UnpackedTarball/liborcus/src/liborcus/orcus_xml_map_def \
UnpackedTarball/liborcus/src/liborcus/session_context \
UnpackedTarball/liborcus/src/liborcus/spreadsheet_iface_util \
@@ -136,9 +134,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,orcus,\
UnpackedTarball/liborcus/src/liborcus/xml_simple_stream_handler \
UnpackedTarball/liborcus/src/liborcus/xml_stream_handler \
UnpackedTarball/liborcus/src/liborcus/xml_stream_parser \
- UnpackedTarball/liborcus/src/liborcus/xml_structure_mapper \
UnpackedTarball/liborcus/src/liborcus/xml_structure_tree \
- UnpackedTarball/liborcus/src/liborcus/xpath_parser \
UnpackedTarball/liborcus/src/liborcus/yaml_document_tree \
))
diff --git a/external/liborcus/UnpackedTarball_liborcus.mk b/external/liborcus/UnpackedTarball_liborcus.mk
index 113e8e25818d..e5e33b0b1249 100644
--- a/external/liborcus/UnpackedTarball_liborcus.mk
+++ b/external/liborcus/UnpackedTarball_liborcus.mk
@@ -20,7 +20,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,liborcus,\
external/liborcus/gcc9.patch.0 \
external/liborcus/libtool.patch.0 \
external/liborcus/fix-pch.patch.0 \
- external/liborcus/include.patch.0 \
))
ifeq ($(OS),WNT)
diff --git a/external/liborcus/include.patch.0 b/external/liborcus/include.patch.0
deleted file mode 100644
index a3275b1b13fa..000000000000
--- a/external/liborcus/include.patch.0
+++ /dev/null
@@ -1,30 +0,0 @@
---- src/liborcus/orcus_xlsx.cpp
-+++ src/liborcus/orcus_xlsx.cpp
-@@ -32,6 +32,7 @@
-
- #include <cstdlib>
- #include <iostream>
-+#include <limits>
- #include <string>
- #include <cstring>
- #include <sstream>
---- src/liborcus/xls_xml_context.cpp
-+++ src/liborcus/xls_xml_context.cpp
-@@ -16,6 +16,7 @@
- #include <mdds/sorted_string_map.hpp>
-
- #include <iostream>
-+#include <limits>
-
- using namespace std;
- namespace ss = orcus::spreadsheet;
---- src/liborcus/xlsx_revision_context.cpp
-+++ src/liborcus/xlsx_revision_context.cpp
-@@ -16,6 +16,7 @@
- #include "orcus/global.hpp"
-
- #include <iostream>
-+#include <limits>
-
- using namespace std;
-
diff --git a/external/liborcus/libtool.patch.0 b/external/liborcus/libtool.patch.0
index 663dbd8099d7..aa6ffa908ec3 100644
--- a/external/liborcus/libtool.patch.0
+++ b/external/liborcus/libtool.patch.0
@@ -1,11 +1,11 @@
---- ltmain.sh.orig 2020-09-09 21:20:23.069433984 -0400
-+++ ltmain.sh 2020-09-09 21:27:13.168073996 -0400
-@@ -7373,7 +7373,7 @@
+--- ltmain.sh.sav 2018-09-14 23:47:13.000000000 +0200
++++ ltmain.sh 2019-05-05 23:11:30.406904472 +0200
+@@ -7278,7 +7278,7 @@ func_mode_link ()
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
-- -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus)
-+ -specs=*|-fsanitize=*|-fuse-ld=*|--ld-path=*|-static-*|-fcilkplus)
+- -specs=*|-fsanitize=*)
++ -specs=*|-fsanitize=*|-fuse-ld=*|--ld-path=*)
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
func_append compile_command " $arg"
diff --git a/external/liborcus/windows-constants-hack.patch b/external/liborcus/windows-constants-hack.patch
index 51aabfa1fb47..876bc1688a31 100644
--- a/external/liborcus/windows-constants-hack.patch
+++ b/external/liborcus/windows-constants-hack.patch
@@ -8,7 +8,7 @@ index ae571f5..539ce18 100644
-#include "constants.inl"
+#define ORCUS_MAJOR_VERSION 0
-+#define ORCUS_MINOR_VERSION 16
++#define ORCUS_MINOR_VERSION 11
+#define ORCUS_MICRO_VERSION 0
namespace orcus {
diff --git a/external/mdds/UnpackedTarball_mdds.mk b/external/mdds/UnpackedTarball_mdds.mk
index 65dd0109e972..2e456712704a 100644
--- a/external/mdds/UnpackedTarball_mdds.mk
+++ b/external/mdds/UnpackedTarball_mdds.mk
@@ -11,9 +11,12 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,mdds))
$(eval $(call gb_UnpackedTarball_set_tarball,mdds,$(MDDS_TARBALL)))
-$(eval $(call gb_UnpackedTarball_set_patchlevel,mdds,1))
+$(eval $(call gb_UnpackedTarball_set_patchlevel,mdds,0))
+# external/mdds/Wdeprecated-copy.patch upstream at <https://gitlab.com/mdds/mdds/merge_requests/21>
+# "Remove redundantly user-declared private_data copy constructor":
$(eval $(call gb_UnpackedTarball_add_patches,mdds,\
+ external/mdds/Wdeprecated-copy.patch \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/mdds/Wdeprecated-copy.patch b/external/mdds/Wdeprecated-copy.patch
new file mode 100644
index 000000000000..edcb2ddaa9ec
--- /dev/null
+++ b/external/mdds/Wdeprecated-copy.patch
@@ -0,0 +1,11 @@
+--- include/mdds/multi_type_vector_itr.hpp
++++ include/mdds/multi_type_vector_itr.hpp
+@@ -71,8 +71,6 @@
+ private_data() : block_index(0) {}
+ private_data(size_type _block_index) :
+ block_index(_block_index) {}
+- private_data(const private_data& other) :
+- block_index(other.block_index) {}
+
+ void swap(private_data& other)
+ {
diff --git a/sc/source/filter/inc/orcusinterface.hxx b/sc/source/filter/inc/orcusinterface.hxx
index f92125d207ce..e8aed6ca81fc 100644
--- a/sc/source/filter/inc/orcusinterface.hxx
+++ b/sc/source/filter/inc/orcusinterface.hxx
@@ -75,28 +75,20 @@ class ScOrcusRefResolver : public orcus::spreadsheet::iface::import_reference_re
public:
ScOrcusRefResolver( const ScOrcusGlobalSettings& rGS );
- orcus::spreadsheet::src_address_t resolve_address(const char* p, size_t n) override;
- orcus::spreadsheet::src_range_t resolve_range(const char* p, size_t n) override;
+ orcus::spreadsheet::address_t resolve_address(const char* p, size_t n) override;
+ orcus::spreadsheet::range_t resolve_range(const char* p, size_t n) override;
};
class ScOrcusNamedExpression : public orcus::spreadsheet::iface::import_named_expression
{
ScDocumentImport& mrDoc;
const ScOrcusGlobalSettings& mrGlobalSettings;
- ScAddress maBasePos;
- OUString maName;
- OUString maExpr;
- const SCTAB mnTab; //< negative if global, else >= 0 for sheet-local named expressions.
+ SCTAB mnTab; //< negative if global, else >= 0 for sheet-local named expressions.
public:
ScOrcusNamedExpression( ScDocumentImport& rDoc, const ScOrcusGlobalSettings& rGS, SCTAB nTab = -1 );
- void reset();
-
- virtual void set_base_position(const orcus::spreadsheet::src_address_t& pos) override;
- virtual void set_named_expression(const char* p_name, size_t n_name, const char* p_exp, size_t n_exp) override;
- virtual void set_named_range(const char* p_name, size_t n_name, const char* p_range, size_t n_range) override;
- virtual void commit() override;
+ virtual void define_name(const char* p_name, size_t n_name, const char* p_exp, size_t n_exp) override;
};
class ScOrcusSharedStrings : public orcus::spreadsheet::iface::import_shared_strings
diff --git a/sc/source/filter/orcus/interface.cxx b/sc/source/filter/orcus/interface.cxx
index 35fb72548a4c..b5527d987fb5 100644
--- a/sc/source/filter/orcus/interface.cxx
+++ b/sc/source/filter/orcus/interface.cxx
@@ -46,7 +46,6 @@
#include <sal/log.hxx>
#include <stylesbuffer.hxx>
-#include <orcus/exception.hpp>
using namespace com::sun::star;
@@ -159,7 +158,7 @@ orcus::spreadsheet::formula_grammar_t ScOrcusGlobalSettings::get_default_formula
ScOrcusRefResolver::ScOrcusRefResolver( const ScOrcusGlobalSettings& rGS ) :
mrGlobalSettings(rGS) {}
-os::src_address_t ScOrcusRefResolver::resolve_address(const char* p, size_t n)
+os::address_t ScOrcusRefResolver::resolve_address(const char* p, size_t n)
{
OUString aStr(p, n, mrGlobalSettings.getTextEncoding());
@@ -168,22 +167,20 @@ os::src_address_t ScOrcusRefResolver::resolve_address(const char* p, size_t n)
formula::FormulaGrammar::extractRefConvention(
mrGlobalSettings.getCalcGrammar()));
- if (!aAddr.IsValid())
+ os::address_t ret;
+ ret.column = 0;
+ ret.row = 0;
+
+ if (aAddr.IsValid())
{
- std::ostringstream os;
- os << "'" << std::string(p, n) << "' is not a valid address expression.";
- throw orcus::invalid_arg_error(os.str());
+ ret.column = aAddr.Col();
+ ret.row = aAddr.Row();
}
- os::src_address_t ret;
- ret.sheet = aAddr.Tab();
- ret.column = aAddr.Col();
- ret.row = aAddr.Row();
-
return ret;
}
-os::src_range_t ScOrcusRefResolver::resolve_range(const char* p, size_t n)
+os::range_t ScOrcusRefResolver::resolve_range(const char* p, size_t n)
{
OUString aStr(p, n, mrGlobalSettings.getTextEncoding());
@@ -192,21 +189,20 @@ os::src_range_t ScOrcusRefResolver::resolve_range(const char* p, size_t n)
formula::FormulaGrammar::extractRefConvention(
mrGlobalSettings.getCalcGrammar()));
- if (!aRange.IsValid())
+ os::range_t ret;
+ ret.first.column = 0;
+ ret.first.row = 0;
+ ret.last.column = 0;
+ ret.last.row = 0;
+
+ if (aRange.IsValid())
{
- std::ostringstream os;
- os << "'" << std::string(p, n) << "' is not a valid range expression.";
- throw orcus::invalid_arg_error(os.str());
+ ret.first.column = aRange.aStart.Col();
+ ret.first.row = aRange.aStart.Row();
+ ret.last.column = aRange.aEnd.Col();
+ ret.last.row = aRange.aEnd.Row();
}
- os::src_range_t ret;
- ret.first.sheet = aRange.aStart.Tab();
- ret.first.column = aRange.aStart.Col();
- ret.first.row = aRange.aStart.Row();
- ret.last.sheet = aRange.aEnd.Tab();
- ret.last.column = aRange.aEnd.Col();
- ret.last.row = aRange.aEnd.Row();
-
return ret;
}
@@ -214,46 +210,20 @@ ScOrcusNamedExpression::ScOrcusNamedExpression(
ScDocumentImport& rDoc, const ScOrcusGlobalSettings& rGS, SCTAB nTab ) :
mrDoc(rDoc), mrGlobalSettings(rGS), mnTab(nTab) {}
-void ScOrcusNamedExpression::reset()
-{
- maBasePos.SetTab(0);
- maBasePos.SetCol(0);
- maBasePos.SetRow(0);
- maName.clear();
- maExpr.clear();
-}
-
-void ScOrcusNamedExpression::set_base_position(const orcus::spreadsheet::src_address_t& pos)
-{
- maBasePos.SetTab(pos.sheet);
- maBasePos.SetCol(pos.column);
- maBasePos.SetRow(pos.row);
-}
-
-void ScOrcusNamedExpression::set_named_expression(const char* p_name, size_t n_name, const char* p_exp, size_t n_exp)
-{
- maName = OUString(p_name, n_name, mrGlobalSettings.getTextEncoding());
- maExpr = OUString(p_exp, n_exp, mrGlobalSettings.getTextEncoding());
-}
-
-void ScOrcusNamedExpression::set_named_range(const char* /*p_name*/, size_t /*n_name*/, const char* /*p_range*/, size_t /*n_range*/)
+void ScOrcusNamedExpression::define_name(const char* p_name, size_t n_name, const char* p_exp, size_t n_exp)
{
- throw std::runtime_error("ScOrcusNamedExpression::set_named_range not implemented yet.");
-}
+ OUString aName(p_name, n_name, mrGlobalSettings.getTextEncoding());
+ OUString aExpr(p_exp, n_exp, mrGlobalSettings.getTextEncoding());
-void ScOrcusNamedExpression::commit()
-{
ScRangeName* pNames = mnTab >= 0 ? mrDoc.getDoc().GetRangeName(mnTab) : mrDoc.getDoc().GetRangeName();
if (!pNames)
return;
ScRangeData* pRange = new ScRangeData(
- mrDoc.getDoc(), maName, maExpr, maBasePos, ScRangeData::Type::Name,
+ mrDoc.getDoc(), aName, aExpr, ScAddress(), ScRangeData::Type::Name,
mrGlobalSettings.getCalcGrammar());
pNames->insert(pRange, false);
-
- reset(); // make sure to reset the state for the next run.
}
ScOrcusFactory::CellStoreToken::CellStoreToken(const ScAddress& rPos, Type eType)
diff --git a/sc/source/filter/orcus/xmlcontext.cxx b/sc/source/filter/orcus/xmlcontext.cxx
index 1f3ee58220a0..f886dd555a66 100644
--- a/sc/source/filter/orcus/xmlcontext.cxx
+++ b/sc/source/filter/orcus/xmlcontext.cxx
@@ -89,9 +89,10 @@ void populateTree(
rTreeCtrl.set_image(*xEntry, rParam.maImgElementRepeat, -1);
}
- orcus::xml_structure_tree::entity_names_type aNames = rWalker.get_attributes();
+ orcus::xml_structure_tree::entity_names_type aNames;
// Insert attributes.
+ rWalker.get_attributes(aNames);
for (const orcus::xml_structure_tree::entity_name& rAttrName : aNames)
{
OUString sAttr(toString(rAttrName, rWalker));
@@ -105,7 +106,7 @@ void populateTree(
rTreeCtrl.set_image(*xAttr, rParam.maImgAttribute, -1);
}
- aNames = rWalker.get_children();
+ rWalker.get_children(aNames);
// Non-leaf if it has child elements, leaf otherwise.
rEntryData.mbLeafNode = aNames.empty();
@@ -265,7 +266,7 @@ void ScOrcusXMLContextImpl::importXML(const ScOrcusImportXMLParam& rParam)
std::for_each(rLink.maFieldPaths.begin(), rLink.maFieldPaths.end(),
[&filter](const OString& rFieldPath)
{
- filter.append_field_link(rFieldPath.getStr(), orcus::pstring());
+ filter.append_field_link(rFieldPath.getStr());
}
);
diff --git a/sc/source/ui/xmlsource/xmlsourcedlg.cxx b/sc/source/ui/xmlsource/xmlsourcedlg.cxx
index edc8ca3d5dcb..7d4724234c14 100644
--- a/sc/source/ui/xmlsource/xmlsourcedlg.cxx
+++ b/sc/source/ui/xmlsource/xmlsourcedlg.cxx
@@ -49,12 +49,8 @@ OUString getXPath(
if (pData)
rNamespaces.push_back(pData->mnNamespaceID);
- // element separator is '/' whereas attribute separator is '/@' in xpath.
aBuf.insert(0, rTree.get_text(*xEntry, 0));
- if (isAttribute(rTree, *xEntry))
- aBuf.insert(0, "/@");
- else
- aBuf.insert(0, '/');
+ aBuf.insert(0, isAttribute(rTree, *xEntry) ? '@' : '/');
}
while (rTree.iter_parent(*xEntry));