PKGBUILDs/community/mysql-workbench/0004-fix-build-for-i686.patch
2017-11-18 04:23:01 +00:00

140 lines
4.6 KiB
Diff

From 73b6b2f8526080644c0686cf68f621f02d5ef7c7 Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
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