[openssh-commits] [openssh] 03/08: upstream: ssh-keyscan(1): simplify conloop() with timercmp(3),

git+noreply at mindrot.org git+noreply at mindrot.org
Thu Aug 27 11:28:45 AEST 2020


This is an automated email from the git hooks/post-receive script.

djm pushed a commit to branch master
in repository openssh.

commit 1196d7f49d4fbc90f37e550de3056561613b0960
Author: cheloha at openbsd.org <cheloha at openbsd.org>
Date:   Wed Aug 12 01:23:45 2020 +0000

    upstream: ssh-keyscan(1): simplify conloop() with timercmp(3),
    
    timersub(3); ok djm@
    
    OpenBSD-Commit-ID: a102acb544f840d33ad73d40088adab4a687fa27
---
 ssh-keyscan.c | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/ssh-keyscan.c b/ssh-keyscan.c
index a5e64407..ca190428 100644
--- a/ssh-keyscan.c
+++ b/ssh-keyscan.c
@@ -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 at lcs.mit.edu>.
  *
@@ -584,16 +584,9 @@ conloop(void)
 	monotime_tv(&now);
 	c = TAILQ_FIRST(&tq);
 
-	if (c && (c->c_tv.tv_sec > now.tv_sec ||
-	    (c->c_tv.tv_sec == now.tv_sec && c->c_tv.tv_usec > now.tv_usec))) {
-		seltime = c->c_tv;
-		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
+	if (c && timercmp(&c->c_tv, &now, >))
+		timersub(&c->c_tv, &now, &seltime);
+	else
 		timerclear(&seltime);
 
 	r = xcalloc(read_wait_nfdset, sizeof(fd_mask));
@@ -616,8 +609,7 @@ conloop(void)
 	free(e);
 
 	c = TAILQ_FIRST(&tq);
-	while (c && (c->c_tv.tv_sec < now.tv_sec ||
-	    (c->c_tv.tv_sec == now.tv_sec && c->c_tv.tv_usec < now.tv_usec))) {
+	while (c && timercmp(&c->c_tv, &now, <)) {
 		int s = c->c_fd;
 
 		c = TAILQ_NEXT(c, c_link);

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list