diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-08-28 16:46:39 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-08-28 16:46:42 +0200 |
commit | 493c8e6008f3cd27366b0a007f3b96a05e3df75a (patch) | |
tree | 82ef4d7a6435fcc4d34c58ac7ebd2f0ab0394dd1 | |
parent | fe6731181c7db6455490c62b3e3f3f051fbdb09f (diff) |
ipa: Simplify code in ipa_client_read
By doing this change we remove a duplicated error code path and thus
avoid having to maintain an extra code path with function pointers.
Change-Id: Ic044894980ae2b882d99eb30d9df50066671d8f3
-rw-r--r-- | src/input/ipa.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/input/ipa.c b/src/input/ipa.c index 995d2c3..26bf170 100644 --- a/src/input/ipa.c +++ b/src/input/ipa.c @@ -56,17 +56,13 @@ static void ipa_client_read(struct ipa_client_conn *link) LOGIPA(link, LOGL_DEBUG, "message received\n"); ret = ipa_msg_recv_buffered(ofd->fd, &msg, &link->pending_msg); - if (ret < 0) { + if (ret <= 0) { if (ret == -EAGAIN) return; - if (ret == -EPIPE || ret == -ECONNRESET) + else if (ret == -EPIPE || ret == -ECONNRESET) LOGIPA(link, LOGL_ERROR, "lost connection with server\n"); - ipa_client_conn_close(link); - if (link->updown_cb) - link->updown_cb(link, 0); - return; - } else if (ret == 0) { - LOGIPA(link, LOGL_ERROR, "connection closed with server\n"); + else if (ret == 0) + LOGIPA(link, LOGL_ERROR, "connection closed with server\n"); ipa_client_conn_close(link); if (link->updown_cb) link->updown_cb(link, 0); |