summaryrefslogtreecommitdiffstats
path: root/call/call.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2015-06-10 19:11:35 +0200
committerRalf Baechle <ralf@linux-mips.org>2015-06-10 19:34:07 +0200
commit585dc5facf76440beca8e1ed9c55ff0c870b075a (patch)
tree82e06a2e21ff037e53a7395cca8d3c84ec037e5b /call/call.c
parent71c88f6a1d37e51f085fc8eeb71b0033602029a3 (diff)
call: Rewrite excessivly long select call for readability.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'call/call.c')
-rw-r--r--call/call.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/call/call.c b/call/call.c
index 2f606bd..6c797f0 100644
--- a/call/call.c
+++ b/call/call.c
@@ -1630,7 +1630,8 @@ int cmd_call(char *call[], int mode)
}
while (TRUE) {
- struct timeval tv;
+ struct timeval tv, *timeout;
+ int nfds;
if (inactivity_timeout_is_set == TRUE && uploadfile == -1 && downloadfile == -1) {
tv.tv_sec = inactivity_timeout.tv_sec;
tv.tv_usec = inactivity_timeout.tv_usec;
@@ -1647,7 +1648,13 @@ int cmd_call(char *call[], int mode)
if (uploadfile != -1)
FD_SET(fd, &sock_write);
- if (select(fd + 1, &sock_read, &sock_write, NULL, (uploadfile == -1 && downloadfile == -1 && inactivity_timeout_is_set == FALSE) ? NULL : &tv) == -1) {
+ if (uploadfile == -1 && downloadfile == -1 &&
+ inactivity_timeout_is_set == FALSE)
+ timeout = NULL;
+ else
+ timeout = &tv;
+ nfds = select(fd + 1, &sock_read, &sock_write, NULL, timeout);
+ if (nfds == -1) {
if (!interrupted) {
if (errno == EINTR)
continue;