diff options
author | Robert Pösel <robyer@seznam.cz> | 2014-08-07 02:02:10 +0000 |
---|---|---|
committer | Robert Pösel <robyer@seznam.cz> | 2014-08-07 02:02:10 +0000 |
commit | 85f8b97d732b1408ddce9d115a9b8796a6b9537c (patch) | |
tree | b213ee24259e514ced70d42e5d99cc8ccddd4f88 /protocols | |
parent | 28837ed04f46a04b09b035ff97e28e53af171530 (diff) |
Facebook: Try to get some error message on unsucessful login
git-svn-id: http://svn.miranda-ng.org/main/trunk@10106 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols')
-rw-r--r-- | protocols/FacebookRM/src/communication.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/protocols/FacebookRM/src/communication.cpp b/protocols/FacebookRM/src/communication.cpp index 6153fbc77b..89805f56b0 100644 --- a/protocols/FacebookRM/src/communication.cpp +++ b/protocols/FacebookRM/src/communication.cpp @@ -849,15 +849,18 @@ bool facebook_client::login(const char *username, const char *password) case HTTP_CODE_OK: // OK page returned, but that is regular login page we don't want in fact { // Check whether captcha code is required - if (resp.data.find("id=\"captcha\"") != std::string::npos) - { + if (resp.data.find("id=\"captcha\"") != std::string::npos) { client_notify(TranslateT("Login error: Captcha code is required. Bad login credentials?")); parent->debugLogA(" ! ! Login error: Captcha code is required."); return handle_error("login", FORCE_QUIT); } // Get and notify error message - loginError(parent, utils::text::source_get_value(&resp.data, 4, "login_error_box", "<div", ">", "</div>")); + std::string error = utils::text::source_get_value(&resp.data, 4, "login_error_box", "<div", ">", "</div>"); + if (error.empty()) + error = utils::text::source_get_value(&resp.data, 3, "<form", "title=\"", "\""); + + loginError(parent, error); } case HTTP_CODE_FORBIDDEN: // Forbidden case HTTP_CODE_NOT_FOUND: // Not Found |