summaryrefslogtreecommitdiff
path: root/src/libpiano/response.c
diff options
context:
space:
mode:
authorLars-Dominik Braun <lars@6xq.net>2012-05-23 21:35:39 +0200
committerLars-Dominik Braun <lars@6xq.net>2012-05-23 21:35:39 +0200
commit81bf363ac69e0036562434ca0e7153c3e624c8c3 (patch)
treecd1a21da84491f216e7466fdb11384989bdccf9b /src/libpiano/response.c
parentdb4c66b2956a4da2745f16131fe573962c3fcbfb (diff)
downloadpianobar-81bf363ac69e0036562434ca0e7153c3e624c8c3.tar.gz
pianobar-81bf363ac69e0036562434ca0e7153c3e624c8c3.tar.bz2
pianobar-81bf363ac69e0036562434ca0e7153c3e624c8c3.zip
piano: Fix ambiguous error message/return value
Closes #263.
Diffstat (limited to 'src/libpiano/response.c')
-rw-r--r--src/libpiano/response.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/libpiano/response.c b/src/libpiano/response.c
index c3bfd6c..73b223a 100644
--- a/src/libpiano/response.c
+++ b/src/libpiano/response.c
@@ -100,6 +100,17 @@ PianoReturn_t PianoResponse (PianoHandle_t *ph, PianoRequest_t *req) {
ret = PIANO_RET_INVALID_RESPONSE;
} else {
ret = json_object_get_int (code)+PIANO_RET_OFFSET;
+
+ if (ret == PIANO_RET_P_INVALID_PARTNER_LOGIN &&
+ req->type == PIANO_REQUEST_LOGIN) {
+ PianoRequestDataLogin_t *reqData = req->data;
+ if (reqData->step == 1) {
+ /* return value is ambiguous, as both, partnerLogin and
+ * userLogin return INVALID_PARTNER_LOGIN. Fix that to provide
+ * better error messages. */
+ ret = PIANO_RET_INVALID_LOGIN;
+ }
+ }
}
json_object_put (j);