summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudius 'keldu' Holeksa <mail@keldu.de>2024-08-19 10:53:12 +0200
committerClaudius 'keldu' Holeksa <mail@keldu.de>2024-08-19 10:53:12 +0200
commite3cdbed1927683f920e14b4fb40bfdc6e2821906 (patch)
treea9f9066f95da1b18e2168e2ad4af4270c852f717
parent117b77580ba2f2d5de9c49a98836ce88ce48cfae (diff)
Changed generic to proper type and added more info on error
-rw-r--r--modules/codec-json/c++/json.tmpl.hpp4
-rw-r--r--modules/core/c++/error.hpp2
2 files changed, 4 insertions, 2 deletions
diff --git a/modules/codec-json/c++/json.tmpl.hpp b/modules/codec-json/c++/json.tmpl.hpp
index 8dbee8c..e73e49d 100644
--- a/modules/codec-json/c++/json.tmpl.hpp
+++ b/modules/codec-json/c++/json.tmpl.hpp
@@ -723,7 +723,9 @@ struct json_decode<schema::Struct<schema::Member<T,Lits>...>, ToDecode> {
buff.read_advance(1);
return void_t{};
}else{
- return make_error<err::invalid_state>("Struct Separator ',' or Struct '}' ending expected");
+ return build_error([&](){
+ return std::string{"Expect ',' or '}', but got "} + std::string{static_cast<char>(buff.read())};
+ }).template make_error<err::invalid_state>("Struct Separator ',' or Struct '}' ending expected");
}
json_helper::skip_whitespace(buff);
if(buff.read_composite_length() == 0){
diff --git a/modules/core/c++/error.hpp b/modules/core/c++/error.hpp
index e1280d8..dab297e 100644
--- a/modules/core/c++/error.hpp
+++ b/modules/core/c++/error.hpp
@@ -170,7 +170,7 @@ public:
{}
template<typename T>
- error make_error(const std::string& generic){
+ error make_error(const std::string_view& generic){
try{
std::string err_str = func_();
error::code id = impl::get_template_id<T>();