@@ -74,12 +74,11 @@ const char *getTypeToken(Value::ValueType type) {
74
74
return Grammar::PrimitiveTypeToken[(size_t )type];
75
75
}
76
76
77
- static void logInvalidTokenError (const char *in, const std::string &exp, OpenDDLParser::logCallback callback) {
78
- if (callback) {
79
- std::string full (in);
80
- std::string part (full.substr (0 , 50 ));
77
+ static void logInvalidTokenError (const std::string &in, const std::string &exp, OpenDDLParser::logCallback callback) {
78
+ if (callback) {\
79
+ std::string part (in.substr (0 , 50 ));
81
80
std::stringstream stream;
82
- stream << " Invalid token \" " << * in << " \" "
81
+ stream << " Invalid token \" " << in << " \" "
83
82
<< " (expected \" " << exp << " \" ) "
84
83
<< " in: \" " << part << " \" " ;
85
84
callback (ddl_error_msg, stream.str ());
@@ -306,7 +305,7 @@ char *OpenDDLParser::parseHeader(char *in, char *end) {
306
305
}
307
306
308
307
if (*in != Grammar::CommaSeparator[0 ] && *in != Grammar::ClosePropertyToken[0 ]) {
309
- logInvalidTokenError (in , Grammar::ClosePropertyToken, m_logCallback);
308
+ logInvalidTokenError (std::string (in, end) , Grammar::ClosePropertyToken, m_logCallback);
310
309
return nullptr ;
311
310
}
312
311
@@ -355,8 +354,7 @@ char *OpenDDLParser::parseStructure(char *in, char *end) {
355
354
++in;
356
355
}
357
356
} else {
358
- ++in;
359
- logInvalidTokenError (in, std::string (Grammar::OpenBracketToken), m_logCallback);
357
+ logInvalidTokenError (std::string (in, end), std::string (Grammar::OpenBracketToken), m_logCallback);
360
358
error = true ;
361
359
return nullptr ;
362
360
}
@@ -427,7 +425,7 @@ char *OpenDDLParser::parseStructureBody(char *in, char *end, bool &error) {
427
425
428
426
in = lookForNextToken (in, end);
429
427
if (in == end || *in != ' }' ) {
430
- logInvalidTokenError (in == end ? " " : in , std::string (Grammar::CloseBracketToken), m_logCallback);
428
+ logInvalidTokenError (std::string (in, end) , std::string (Grammar::CloseBracketToken), m_logCallback);
431
429
return nullptr ;
432
430
} else {
433
431
// in++;
0 commit comments