From 869492c9f3f61aaab0d1ecdda147ea9adbdb04d5 Mon Sep 17 00:00:00 2001 From: Kohei Yoshida Date: Tue, 28 Aug 2018 22:58:49 -0400 Subject: [PATCH] Fix build issues on 32-bit platforms. The string ID's are stored in mdds's unsigned long block, but we have changed the underlying type of string ID's from unsigned long to uint64_t. Because of this, on 32-bit systems it caused a type mismatch. On 64-bit systems this was fine since unsigned long was the underlying type for uint64_t... --- src/libixion/model_context.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libixion/model_context.cpp b/src/libixion/model_context.cpp index 0bcf940..b44713f 100644 --- a/src/libixion/model_context.cpp +++ b/src/libixion/model_context.cpp @@ -541,7 +541,7 @@ void model_context_impl::set_string_cell(const abs_address_t& addr, const char* string_id_t str_id = add_string(p, n); column_store_t& col_store = sheet.at(addr.column); column_store_t::iterator& pos_hint = sheet.get_pos_hint(addr.column); - pos_hint = col_store.set(pos_hint, addr.row, str_id); + pos_hint = col_store.set(pos_hint, addr.row, static_cast(str_id)); } void model_context_impl::set_string_cell(const abs_address_t& addr, string_id_t identifier) @@ -549,7 +549,7 @@ void model_context_impl::set_string_cell(const abs_address_t& addr, string_id_t worksheet& sheet = m_sheets.at(addr.sheet); column_store_t& col_store = sheet.at(addr.column); column_store_t::iterator& pos_hint = sheet.get_pos_hint(addr.column); - pos_hint = col_store.set(pos_hint, addr.row, identifier); + pos_hint = col_store.set(pos_hint, addr.row, static_cast(identifier)); } void model_context_impl::set_formula_cell(const abs_address_t& addr, formula_tokens_t tokens) @@ -800,7 +800,7 @@ string_id_t model_context_impl::get_string_identifier(const abs_address_t& addr) switch (col_store.get_type(addr.row)) { case ixion::element_type_string: - return col_store.get(addr.row); + return col_store.get(addr.row); default: ; } @@ -813,7 +813,7 @@ string_id_t model_context_impl::get_string_identifier_nowait(const abs_address_t switch (col_store.get_type(addr.row)) { case ixion::element_type_string: - return col_store.get(addr.row); + return col_store.get(addr.row); case ixion::element_type_formula: { const formula_cell* p = col_store.get(addr.row); -- 2.18.0