From c25a5d221575d5c999829c3e8927069c2d98330c Mon Sep 17 00:00:00 2001 From: Tomasz Sowa Date: Tue, 12 Oct 2021 19:59:19 +0200 Subject: [PATCH] - code from JSONExpression::esc(char val, ...) moved to Pikotools (convert/misc.h) - added ModelContainerWrapper::set_iterator_at_first_model() method --- src/jsonexpression.cpp | 37 ++----------------------------------- src/modelcontainerwrapper.h | 7 +++++++ 2 files changed, 9 insertions(+), 35 deletions(-) diff --git a/src/jsonexpression.cpp b/src/jsonexpression.cpp index 9b1db1b..1c3d898 100644 --- a/src/jsonexpression.cpp +++ b/src/jsonexpression.cpp @@ -34,7 +34,7 @@ #include "jsonexpression.h" #include "morm_types.h" - +#include "convert/misc.h" namespace morm @@ -125,40 +125,7 @@ void JSONExpression::esc(char val, pt::TextStream & stream, const FT & field_typ } else { - if( (unsigned char)val < 32 ) - { - char buf[10]; - size_t len; - pt::Toa((unsigned char)val, buf, sizeof(buf)/sizeof(char), 16, &len); - - stream << "\\u"; - - if( len < 4 ) - { - for(size_t i=0 ; i < (4-len) ; ++i) - { - stream << '0'; - } - } - - stream << buf; - } - else - { - switch( val ) - { - case 0: stream << '\\'; stream << '0'; break; // may to skip this character is better? - case '\r': stream << '\\'; stream << 'r'; break; - case '\n': stream << '\\'; stream << 'n'; break; - case '\t': stream << '\\'; stream << 't'; break; - case 0x08: stream << '\\'; stream << 'b'; break; - case 0x0c: stream << '\\'; stream << 'f'; break; - case '\\': stream << '\\'; stream << '\\'; break; - case '"': stream << '\\'; stream << '\"'; break; - default: - stream << val; - } - } + pt::esc_to_json(val, stream); } } diff --git a/src/modelcontainerwrapper.h b/src/modelcontainerwrapper.h index 2a6762b..5069cd3 100644 --- a/src/modelcontainerwrapper.h +++ b/src/modelcontainerwrapper.h @@ -69,6 +69,9 @@ public: return false; } + virtual void set_iterator_at_first_model() + { + } }; @@ -106,6 +109,10 @@ public: return iterator != container->end(); } + void set_iterator_at_first_model() + { + iterator = container->begin(); + } protected: