X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/61b5cf35c82a5850ceb07fca5232a409e249444c..cd64751cac4c56591bee9b0a9c2a626ce40e67db:/stglibs/srvconf.lib/parser_get_users.cpp diff --git a/stglibs/srvconf.lib/parser_get_users.cpp b/stglibs/srvconf.lib/parser_get_users.cpp index d4e44d36..26ffc157 100644 --- a/stglibs/srvconf.lib/parser_get_users.cpp +++ b/stglibs/srvconf.lib/parser_get_users.cpp @@ -52,8 +52,11 @@ if (depth > 0) userParser.ParseEnd(el); if (depth == 0) + { if (callback) - callback(info, data); + callback(error.empty(), error, info, data); + error.clear(); + } } //----------------------------------------------------------------------------- void PARSER_GET_USERS::ParseUsers(const char * el, const char ** /*attr*/) @@ -73,8 +76,11 @@ callback = f; data = d; } //----------------------------------------------------------------------------- -void PARSER_GET_USERS::UserCallback(const PARSER_GET_USER::INFO & info, void * data) +void PARSER_GET_USERS::UserCallback(bool result, const std::string & error, const PARSER_GET_USER::INFO & info, void * data) { PARSER_GET_USERS * parser = static_cast(data); - parser->AddUser(info); + if (!result) + parser->SetError(error); + else + parser->AddUser(info); }