summaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2012-10-02 02:57:59 +0000
committerMorgan Deters <mdeters@gmail.com>2012-10-02 02:57:59 +0000
commit6e283659af0f95505e92a1826953509537f9d216 (patch)
tree831968675e6d1da5703f9b2bf190c0451ab4ffa3 /src/util
parent35ac65b0034eacf2766d9e94be1c7fe9c116bb75 (diff)
workaround for a nasty CLN bug
Diffstat (limited to 'src/util')
-rw-r--r--src/util/integer_cln_imp.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/util/integer_cln_imp.h b/src/util/integer_cln_imp.h
index 5dfcae6d2..b86e0240c 100644
--- a/src/util/integer_cln_imp.h
+++ b/src/util/integer_cln_imp.h
@@ -60,7 +60,12 @@ private:
void readInt(const cln::cl_read_flags& flags, const std::string& s, unsigned base) throw(std::invalid_argument) {
try {
- d_value = read_integer(flags, s.c_str(), NULL, NULL);
+ if(s.find_first_not_of('0') == std::string::npos) {
+ // string of all zeroes, CLN has a bug for these inputs
+ d_value = read_integer(flags, "0", NULL, NULL);
+ } else {
+ d_value = read_integer(flags, s.c_str(), NULL, NULL);
+ }
} catch(...) {
std::stringstream ss;
ss << "Integer() failed to parse value \"" << s << "\" in base " << base;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback