From 73b6b2f8526080644c0686cf68f621f02d5ef7c7 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Wed, 8 Feb 2017 13:26:51 +0100 Subject: [PATCH] fix build for 32bit systems --- library/base/jsonparser.cpp | 6 ++++-- library/forms/jsonview.cpp | 12 ++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/library/base/jsonparser.cpp b/library/base/jsonparser.cpp index 6ed4b3f4..fb4e0550 100644 --- a/library/base/jsonparser.cpp +++ b/library/base/jsonparser.cpp @@ -343,7 +343,7 @@ namespace JsonParser { */ JsonValue &JsonArray::at(SizeType pos) { if (pos > _data.size()) - throw std::out_of_range(base::strfmt("Index '%lu' is out of range.", pos)); + throw std::out_of_range(base::strfmt("Index '%zu' is out of range.", pos)); return _data.at(pos); } @@ -358,7 +358,7 @@ namespace JsonParser { */ const JsonValue &JsonArray::at(SizeType pos) const { if (pos > _data.size()) - throw std::out_of_range(base::strfmt("Index '%lu' is out of range.", pos)); + throw std::out_of_range(base::strfmt("Index '%zu' is out of range.", pos)); return _data.at(pos); } @@ -1668,12 +1668,14 @@ namespace JsonParser { case VDouble: _output += std::to_string((double)value); break; +#ifdef DEFINE_UINT64_T_FUNCTIONS case VInt64: _output += std::to_string((int64_t)value); break; case VUint64: _output += std::to_string((uint64_t)value); break; +#endif case VObject: write((JsonObject)value); break; diff --git a/library/forms/jsonview.cpp b/library/forms/jsonview.cpp index dedca7b9..ca894dfe 100644 --- a/library/forms/jsonview.cpp +++ b/library/forms/jsonview.cpp @@ -651,8 +651,10 @@ void JsonTreeBaseView::setCellValue(mforms::TreeNodeRef node, int column, const if (data != nullptr) { std::stringstream buffer; double number = 0; +#ifdef DEFINE_UINT64_T_FUNCTIONS int64_t number2 = 0; uint64_t number3 = 0; +#endif bool retBool = false; auto &storedValue = data->getData(); switch (storedValue.getType()) { @@ -664,6 +666,7 @@ void JsonTreeBaseView::setCellValue(mforms::TreeNodeRef node, int column, const storedValue = number; setData = true; break; +#ifdef DEFINE_UINT64_T_FUNCTIONS case VInt64: if (!base::is_number(value)) break; @@ -680,6 +683,7 @@ void JsonTreeBaseView::setCellValue(mforms::TreeNodeRef node, int column, const storedValue = number3; setData = true; break; +#endif case VBoolean: if (!base::isBool(value)) break; @@ -1073,6 +1077,7 @@ void JsonTreeView::generateNumberInTree(JsonParser::JsonValue &value, int /*colu node->set_string(1, std::to_string((double)value)); node->set_string(2, "Double"); break; +#ifdef DEFINE_UINT64_T_FUNCTIONS case VInt64: node->set_string(1, std::to_string((int64_t)value)); node->set_string(2, "Long Integer"); @@ -1081,6 +1086,7 @@ void JsonTreeView::generateNumberInTree(JsonParser::JsonValue &value, int /*colu node->set_string(1, std::to_string((uint64_t)value)); node->set_string(2, "Unsigned Long Integer"); break; +#endif default: break; } @@ -1322,8 +1328,10 @@ void JsonGridView::setCellValue(mforms::TreeNodeRef node, int column, const std: if (data != NULL) { std::stringstream buffer; double number = 0; +#ifdef DEFINE_UINT64_T_FUNCTIONS int64_t number2 = 0; uint64_t number3 = 0; +#endif bool retBool = false; switch (storedValue.getType()) { case VDouble: @@ -1334,6 +1342,7 @@ void JsonGridView::setCellValue(mforms::TreeNodeRef node, int column, const std: storedValue = number; node->set_float(column, number); _dataChanged(false); +#ifdef DEFINE_UINT64_T_FUNCTIONS break; case VInt64: if (!base::is_number(value)) @@ -1353,6 +1362,7 @@ void JsonGridView::setCellValue(mforms::TreeNodeRef node, int column, const std: node->set_float(column, (double)number3); _dataChanged(false); break; +#endif case VBoolean: if (!base::isBool(value)) break; @@ -1612,12 +1622,14 @@ void JsonGridView::generateNumberInTree(JsonParser::JsonValue &value, int column case VDouble: node->set_float(columnId, (double)value); break; +#ifdef DEFINE_UINT64_T_FUNCTIONS case VInt64: node->set_long(columnId, (int64_t)value); break; case VUint64: node->set_long(columnId, (uint64_t)value); break; +#endif default: break; } -- 2.14.1