58 lines
2.6 KiB
Diff
58 lines
2.6 KiB
Diff
From 869492c9f3f61aaab0d1ecdda147ea9adbdb04d5 Mon Sep 17 00:00:00 2001
|
|
From: Kohei Yoshida <kohei.yoshida@gmail.com>
|
|
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<unsigned long>(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<unsigned long>(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<string_id_t>(addr.row);
|
|
+ return col_store.get<unsigned long>(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<string_id_t>(addr.row);
|
|
+ return col_store.get<unsigned long>(addr.row);
|
|
case ixion::element_type_formula:
|
|
{
|
|
const formula_cell* p = col_store.get<formula_cell*>(addr.row);
|
|
--
|
|
2.17.1
|
|
|