diff options
Diffstat (limited to 'src/tsnif.c')
-rw-r--r-- | src/tsnif.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/tsnif.c b/src/tsnif.c index 643424f..5b2946f 100644 --- a/src/tsnif.c +++ b/src/tsnif.c @@ -263,27 +263,31 @@ int main(int argc, char **argv) while(!killed) { fd_set rfds; struct timeval tv = { 1, 0}; - int ts_fd = tsnif_fd(&handle), ret; + int ts_fd = tsnif_fd(&handle); int in_fd = 0; FD_ZERO(&rfds); FD_SET(ts_fd, &rfds); FD_SET(in_fd, &rfds); - ret = select(ts_fd + 1, &rfds, NULL, NULL, &tv); - if (ret == -1) { + err = select(ts_fd + 1, &rfds, NULL, NULL, &tv); + if (err == -1) { perror("select()"); continue; - } else if (!ret) + } else if (!err) continue; - if (FD_ISSET(ts_fd, &rfds) && - tsnif_process(&handle)) - longjmp(env, 3); + if (FD_ISSET(ts_fd, &rfds)) { + err = tsnif_process(&handle); + if (err) + longjmp(env, 3); + } - if (FD_ISSET(in_fd, &rfds) && - process_input()) - longjmp(env, 3); + if (FD_ISSET(in_fd, &rfds)) { + err = process_input(); + if (err) + longjmp(env, 3); + } } longjmp(env, 3); |