From 70fce6ce6b37ea0372ea8072fcea3672344d43a4 Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Sat, 7 Dec 2013 17:10:58 +0200 Subject: [PATCH] Divelogs.de: further improve reading the server reponse We now check for the following entries: succeeded failed Signed-off-by: Lubomir I. Ivanov --- qt-ui/subsurfacewebservices.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/qt-ui/subsurfacewebservices.cpp b/qt-ui/subsurfacewebservices.cpp index 1a1798e16..3b1b25443 100644 --- a/qt-ui/subsurfacewebservices.cpp +++ b/qt-ui/subsurfacewebservices.cpp @@ -543,6 +543,7 @@ void DivelogsDeWebServices::prepareDivesForUpload() if (filename) { QFile f(filename); if (f.exists()) { + f.open(QIODevice::ReadOnly); uploadDives((QIODevice *)&f); f.close(); f.remove(); @@ -744,18 +745,21 @@ void DivelogsDeWebServices::uploadFinished() // an error condition, such as a failed login QByteArray xmlData = reply->readAll(); char *resp = xmlData.data(); - // qDebug() << resp; if (resp) { char *parsed = strstr(resp, ""); - // char *endat = strstr(resp, ""); if (parsed) { - if (strstr(resp, "failed")) - ui.status->setText(tr("Login failed")); - else + if (strstr(resp, "succeeded")) { + if (strstr(resp, "failed")) { + ui.status->setText(tr("Upload failed")); + return; + } ui.status->setText(tr("Upload successful")); - } else { - ui.status->setText(tr("Cannot parse response")); + return; + } + ui.status->setText(tr("Login failed")); + return; } + ui.status->setText(tr("Cannot parse response")); } }