Skip to content

Commit fa7bef2

Browse files
author
MacroFake
committed
univalue: Remove unused and confusing set*() return value
1 parent 7f79746 commit fa7bef2

File tree

4 files changed

+47
-55
lines changed

4 files changed

+47
-55
lines changed

src/test/rpc_tests.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,10 +181,10 @@ BOOST_AUTO_TEST_CASE(rpc_format_monetary_values)
181181
BOOST_CHECK_EQUAL(ValueFromAmount(std::numeric_limits<CAmount>::min()).write(), "-92233720368.54775808");
182182
}
183183

184-
static UniValue ValueFromString(const std::string &str)
184+
static UniValue ValueFromString(const std::string& str) noexcept
185185
{
186186
UniValue value;
187-
BOOST_CHECK(value.setNumStr(str));
187+
value.setNumStr(str);
188188
return value;
189189
}
190190

src/univalue/include/univalue.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,16 @@ class UniValue {
4747

4848
void clear();
4949

50-
bool setNull();
51-
bool setBool(bool val);
52-
bool setNumStr(const std::string& val);
53-
bool setInt(uint64_t val);
54-
bool setInt(int64_t val);
55-
bool setInt(int val_) { return setInt((int64_t)val_); }
56-
bool setFloat(double val);
57-
bool setStr(const std::string& val);
58-
bool setArray();
59-
bool setObject();
50+
void setNull();
51+
void setBool(bool val);
52+
void setNumStr(const std::string& val);
53+
void setInt(uint64_t val);
54+
void setInt(int64_t val);
55+
void setInt(int val_) { return setInt(int64_t{val_}); }
56+
void setFloat(double val);
57+
void setStr(const std::string& val);
58+
void setArray();
59+
void setObject();
6060

6161
enum VType getType() const { return typ; }
6262
const std::string& getValStr() const { return val; }

src/univalue/lib/univalue.cpp

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,17 @@ void UniValue::clear()
2323
values.clear();
2424
}
2525

26-
bool UniValue::setNull()
26+
void UniValue::setNull()
2727
{
2828
clear();
29-
return true;
3029
}
3130

32-
bool UniValue::setBool(bool val_)
31+
void UniValue::setBool(bool val_)
3332
{
3433
clear();
3534
typ = VBOOL;
3635
if (val_)
3736
val = "1";
38-
return true;
3937
}
4038

4139
static bool validNumStr(const std::string& s)
@@ -46,18 +44,18 @@ static bool validNumStr(const std::string& s)
4644
return (tt == JTOK_NUMBER);
4745
}
4846

49-
bool UniValue::setNumStr(const std::string& val_)
47+
void UniValue::setNumStr(const std::string& val_)
5048
{
51-
if (!validNumStr(val_))
52-
return false;
49+
if (!validNumStr(val_)) {
50+
throw std::runtime_error{"The string '" + val_ + "' is not a valid JSON number"};
51+
}
5352

5453
clear();
5554
typ = VNUM;
5655
val = val_;
57-
return true;
5856
}
5957

60-
bool UniValue::setInt(uint64_t val_)
58+
void UniValue::setInt(uint64_t val_)
6159
{
6260
std::ostringstream oss;
6361

@@ -66,7 +64,7 @@ bool UniValue::setInt(uint64_t val_)
6664
return setNumStr(oss.str());
6765
}
6866

69-
bool UniValue::setInt(int64_t val_)
67+
void UniValue::setInt(int64_t val_)
7068
{
7169
std::ostringstream oss;
7270

@@ -75,37 +73,32 @@ bool UniValue::setInt(int64_t val_)
7573
return setNumStr(oss.str());
7674
}
7775

78-
bool UniValue::setFloat(double val_)
76+
void UniValue::setFloat(double val_)
7977
{
8078
std::ostringstream oss;
8179

8280
oss << std::setprecision(16) << val_;
8381

84-
bool ret = setNumStr(oss.str());
85-
typ = VNUM;
86-
return ret;
82+
return setNumStr(oss.str());
8783
}
8884

89-
bool UniValue::setStr(const std::string& val_)
85+
void UniValue::setStr(const std::string& val_)
9086
{
9187
clear();
9288
typ = VSTR;
9389
val = val_;
94-
return true;
9590
}
9691

97-
bool UniValue::setArray()
92+
void UniValue::setArray()
9893
{
9994
clear();
10095
typ = VARR;
101-
return true;
10296
}
10397

104-
bool UniValue::setObject()
98+
void UniValue::setObject()
10599
{
106100
clear();
107101
typ = VOBJ;
108-
return true;
109102
}
110103

111104
void UniValue::push_back(const UniValue& val_)

src/univalue/test/object.cpp

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ void univalue_constructor()
4545
BOOST_CHECK_EQUAL(v3.getValStr(), "foo");
4646

4747
UniValue numTest;
48-
BOOST_CHECK(numTest.setNumStr("82"));
48+
numTest.setNumStr("82");
4949
BOOST_CHECK(numTest.isNum());
5050
BOOST_CHECK_EQUAL(numTest.getValStr(), "82");
5151

@@ -93,33 +93,33 @@ void univalue_push_throw()
9393
void univalue_typecheck()
9494
{
9595
UniValue v1;
96-
BOOST_CHECK(v1.setNumStr("1"));
96+
v1.setNumStr("1");
9797
BOOST_CHECK(v1.isNum());
9898
BOOST_CHECK_THROW(v1.get_bool(), std::runtime_error);
9999

100100
{
101101
UniValue v_negative;
102-
BOOST_CHECK(v_negative.setNumStr("-1"));
102+
v_negative.setNumStr("-1");
103103
BOOST_CHECK_THROW(v_negative.getInt<uint8_t>(), std::runtime_error);
104104
BOOST_CHECK_EQUAL(v_negative.getInt<int8_t>(), -1);
105105
}
106106

107107
UniValue v2;
108-
BOOST_CHECK(v2.setBool(true));
108+
v2.setBool(true);
109109
BOOST_CHECK_EQUAL(v2.get_bool(), true);
110110
BOOST_CHECK_THROW(v2.getInt<int>(), std::runtime_error);
111111

112112
UniValue v3;
113-
BOOST_CHECK(v3.setNumStr("32482348723847471234"));
113+
v3.setNumStr("32482348723847471234");
114114
BOOST_CHECK_THROW(v3.getInt<int64_t>(), std::runtime_error);
115-
BOOST_CHECK(v3.setNumStr("1000"));
115+
v3.setNumStr("1000");
116116
BOOST_CHECK_EQUAL(v3.getInt<int64_t>(), 1000);
117117

118118
UniValue v4;
119-
BOOST_CHECK(v4.setNumStr("2147483648"));
119+
v4.setNumStr("2147483648");
120120
BOOST_CHECK_EQUAL(v4.getInt<int64_t>(), 2147483648);
121121
BOOST_CHECK_THROW(v4.getInt<int>(), std::runtime_error);
122-
BOOST_CHECK(v4.setNumStr("1000"));
122+
v4.setNumStr("1000");
123123
BOOST_CHECK_EQUAL(v4.getInt<int>(), 1000);
124124
BOOST_CHECK_THROW(v4.get_str(), std::runtime_error);
125125
BOOST_CHECK_EQUAL(v4.get_real(), 1000);
@@ -146,55 +146,55 @@ void univalue_set()
146146
BOOST_CHECK(v.isNull());
147147
BOOST_CHECK_EQUAL(v.getValStr(), "");
148148

149-
BOOST_CHECK(v.setObject());
149+
v.setObject();
150150
BOOST_CHECK(v.isObject());
151151
BOOST_CHECK_EQUAL(v.size(), 0);
152152
BOOST_CHECK_EQUAL(v.getType(), UniValue::VOBJ);
153153
BOOST_CHECK(v.empty());
154154

155-
BOOST_CHECK(v.setArray());
155+
v.setArray();
156156
BOOST_CHECK(v.isArray());
157157
BOOST_CHECK_EQUAL(v.size(), 0);
158158

159-
BOOST_CHECK(v.setStr("zum"));
159+
v.setStr("zum");
160160
BOOST_CHECK(v.isStr());
161161
BOOST_CHECK_EQUAL(v.getValStr(), "zum");
162162

163-
BOOST_CHECK(v.setFloat(-1.01));
163+
v.setFloat(-1.01);
164164
BOOST_CHECK(v.isNum());
165165
BOOST_CHECK_EQUAL(v.getValStr(), "-1.01");
166166

167-
BOOST_CHECK(v.setInt((int)1023));
167+
v.setInt(int{1023});
168168
BOOST_CHECK(v.isNum());
169169
BOOST_CHECK_EQUAL(v.getValStr(), "1023");
170170

171-
BOOST_CHECK(v.setInt((int64_t)-1023LL));
171+
v.setInt(int64_t{-1023LL});
172172
BOOST_CHECK(v.isNum());
173173
BOOST_CHECK_EQUAL(v.getValStr(), "-1023");
174174

175-
BOOST_CHECK(v.setInt((uint64_t)1023ULL));
175+
v.setInt(uint64_t{1023ULL});
176176
BOOST_CHECK(v.isNum());
177177
BOOST_CHECK_EQUAL(v.getValStr(), "1023");
178178

179-
BOOST_CHECK(v.setNumStr("-688"));
179+
v.setNumStr("-688");
180180
BOOST_CHECK(v.isNum());
181181
BOOST_CHECK_EQUAL(v.getValStr(), "-688");
182182

183-
BOOST_CHECK(v.setBool(false));
183+
v.setBool(false);
184184
BOOST_CHECK_EQUAL(v.isBool(), true);
185185
BOOST_CHECK_EQUAL(v.isTrue(), false);
186186
BOOST_CHECK_EQUAL(v.isFalse(), true);
187187
BOOST_CHECK_EQUAL(v.getBool(), false);
188188

189-
BOOST_CHECK(v.setBool(true));
189+
v.setBool(true);
190190
BOOST_CHECK_EQUAL(v.isBool(), true);
191191
BOOST_CHECK_EQUAL(v.isTrue(), true);
192192
BOOST_CHECK_EQUAL(v.isFalse(), false);
193193
BOOST_CHECK_EQUAL(v.getBool(), true);
194194

195-
BOOST_CHECK(!v.setNumStr("zombocom"));
195+
BOOST_CHECK_THROW(v.setNumStr("zombocom"), std::runtime_error);
196196

197-
BOOST_CHECK(v.setNull());
197+
v.setNull();
198198
BOOST_CHECK(v.isNull());
199199
}
200200

@@ -352,7 +352,7 @@ void univalue_object()
352352
BOOST_CHECK_EQUAL(obj.size(), 0);
353353
BOOST_CHECK_EQUAL(obj.getType(), UniValue::VNULL);
354354

355-
BOOST_CHECK_EQUAL(obj.setObject(), true);
355+
obj.setObject();
356356
UniValue uv;
357357
uv.setInt(42);
358358
obj.__pushKV("age", uv);
@@ -419,7 +419,7 @@ void univalue_readwrite()
419419
BOOST_CHECK(!v.read("{} 42"));
420420
}
421421

422-
int main (int argc, char *argv[])
422+
int main(int argc, char* argv[])
423423
{
424424
univalue_constructor();
425425
univalue_push_throw();
@@ -430,4 +430,3 @@ int main (int argc, char *argv[])
430430
univalue_readwrite();
431431
return 0;
432432
}
433-

0 commit comments

Comments
 (0)