summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorClaudius "keldu" Holeksa <mail@keldu.de>2025-04-24 10:22:27 +0200
committerClaudius "keldu" Holeksa <mail@keldu.de>2025-04-24 10:22:27 +0200
commit104e9b27ca52b89d88256155820272a8f8dd6110 (patch)
tree2512164fdfa20180041e7dd2561aeb2816ce54cb /modules
parentebdeba46d38ed2aa9fe8025f28f69f67045264ae (diff)
Need to write better logic at some point, but right now it works
Diffstat (limited to 'modules')
-rw-r--r--modules/codec-json/c++/json.tmpl.hpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/modules/codec-json/c++/json.tmpl.hpp b/modules/codec-json/c++/json.tmpl.hpp
index 0ff2a38..a6d4a20 100644
--- a/modules/codec-json/c++/json.tmpl.hpp
+++ b/modules/codec-json/c++/json.tmpl.hpp
@@ -506,7 +506,7 @@ struct json_decode<schema::Primitive<T,N>, ToDecode> {
return make_error<err::buffer_exhausted>();
}
/**
- * In case of integers it's at least 1. Hacky float
+ * In case of decimal integers it's at least 1. Hacky float needs 0.
*/
if (buff.read(offset) >= '0' && buff.read(offset) <= '9') {
bool leading_zero = (buff.read(offset) == '0');
@@ -521,16 +521,13 @@ struct json_decode<schema::Primitive<T,N>, ToDecode> {
}
}
- /**
- * Hacky setup for float check
- */
+ /* Wrong because this falls into a state where ',' after a single '0' is an error.
if(do_loop && leading_zero){
- /* Wrong because this falls into a state where ',' is an error.
if(buff.read(offset) != '.'){
return make_error<err::invalid_state>("Leading zero, but no '.' afterwards");
}
- */
}
+ */
while(do_loop){
if (buff.read(offset) >= '0' && buff.read(offset) <= '9') {