1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
From af2bff95077b376a21ba815505589f4ad6b62140 Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
Date: Tue, 7 Feb 2017 23:10:23 +0100
Subject: [PATCH 1/1] fix build for i686
Signed-off-by: Christian Hesse <mail@eworm.de>
---
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 6ed4b3f..fb4e055 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 1259427..2d50491 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
case VInt64:
if (!base::is_number(value))
break;
@@ -1352,6 +1361,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;
@@ -1611,12 +1621,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.11.1
|