upstream: ssh-keyscan(1): simplify conloop() with timercmp(3),

timersub(3); ok djm@

OpenBSD-Commit-ID: a102acb544f840d33ad73d40088adab4a687fa27
This commit is contained in:
cheloha@openbsd.org 2020-08-12 01:23:45 +00:00 committed by Damien Miller
parent d0a195c89e
commit 1196d7f49d
1 changed files with 5 additions and 13 deletions

View File

@ -1,4 +1,4 @@
/* $OpenBSD: ssh-keyscan.c,v 1.131 2019/12/15 19:47:10 djm Exp $ */ /* $OpenBSD: ssh-keyscan.c,v 1.132 2020/08/12 01:23:45 cheloha Exp $ */
/* /*
* Copyright 1995, 1996 by David Mazieres <dm@lcs.mit.edu>. * Copyright 1995, 1996 by David Mazieres <dm@lcs.mit.edu>.
* *
@ -584,16 +584,9 @@ conloop(void)
monotime_tv(&now); monotime_tv(&now);
c = TAILQ_FIRST(&tq); c = TAILQ_FIRST(&tq);
if (c && (c->c_tv.tv_sec > now.tv_sec || if (c && timercmp(&c->c_tv, &now, >))
(c->c_tv.tv_sec == now.tv_sec && c->c_tv.tv_usec > now.tv_usec))) { timersub(&c->c_tv, &now, &seltime);
seltime = c->c_tv; else
seltime.tv_sec -= now.tv_sec;
seltime.tv_usec -= now.tv_usec;
if (seltime.tv_usec < 0) {
seltime.tv_usec += 1000000;
seltime.tv_sec--;
}
} else
timerclear(&seltime); timerclear(&seltime);
r = xcalloc(read_wait_nfdset, sizeof(fd_mask)); r = xcalloc(read_wait_nfdset, sizeof(fd_mask));
@ -616,8 +609,7 @@ conloop(void)
free(e); free(e);
c = TAILQ_FIRST(&tq); c = TAILQ_FIRST(&tq);
while (c && (c->c_tv.tv_sec < now.tv_sec || while (c && timercmp(&c->c_tv, &now, <)) {
(c->c_tv.tv_sec == now.tv_sec && c->c_tv.tv_usec < now.tv_usec))) {
int s = c->c_fd; int s = c->c_fd;
c = TAILQ_NEXT(c, c_link); c = TAILQ_NEXT(c, c_link);