git.stg.codes
/
stg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed response for GetAuthBy on error.
[stg.git]
/
stglibs
/
srvconf.lib
/
parser_check_user.cpp
diff --git
a/stglibs/srvconf.lib/parser_check_user.cpp
b/stglibs/srvconf.lib/parser_check_user.cpp
index 66db6cff180531f3562dc9a38c70980b5429c0c6..b99a43904368d6be96d1afe215fb89771b48a1d5 100644
(file)
--- a/
stglibs/srvconf.lib/parser_check_user.cpp
+++ b/
stglibs/srvconf.lib/parser_check_user.cpp
@@
-21,6
+21,8
@@
#include "stg/parser_check_user.h"
#include "stg/parser_check_user.h"
+#include <cstddef>
+
#include <strings.h>
PARSER_CHECK_USER::PARSER_CHECK_USER()
#include <strings.h>
PARSER_CHECK_USER::PARSER_CHECK_USER()
@@
-46,9
+48,12
@@
depth--;
//-----------------------------------------------------------------------------
void PARSER_CHECK_USER::ParseAnswer(const char *, const char **attr)
{
//-----------------------------------------------------------------------------
void PARSER_CHECK_USER::ParseAnswer(const char *, const char **attr)
{
+if (!callback)
+ return;
if (attr && attr[0] && attr[1] && strcasecmp(attr[0], "value") == 0)
if (attr && attr[0] && attr[1] && strcasecmp(attr[0], "value") == 0)
- if (callback)
- callback(attr[1], data);
+ callback(strcasecmp(attr[1], "ok") == 0, attr[2] && attr[3] ? attr[3] : "", data);
+else
+ callback(false, "Invalid response.", data);
}
//-----------------------------------------------------------------------------
void PARSER_CHECK_USER::SetCallback(CALLBACK f, void * d)
}
//-----------------------------------------------------------------------------
void PARSER_CHECK_USER::SetCallback(CALLBACK f, void * d)