diff options
author | Lars-Dominik Braun <lars@6xq.net> | 2012-05-23 21:35:39 +0200 |
---|---|---|
committer | Lars-Dominik Braun <lars@6xq.net> | 2012-05-23 21:35:39 +0200 |
commit | 81bf363ac69e0036562434ca0e7153c3e624c8c3 (patch) | |
tree | cd1a21da84491f216e7466fdb11384989bdccf9b /src/libpiano/response.c | |
parent | db4c66b2956a4da2745f16131fe573962c3fcbfb (diff) | |
download | pianobar-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.c | 11 |
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); |