diff --git a/sftp.c b/sftp.c index 248d45210..fb3c08d19 100644 --- a/sftp.c +++ b/sftp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sftp.c,v 1.205 2020/12/04 02:41:10 djm Exp $ */ +/* $OpenBSD: sftp.c,v 1.206 2021/01/08 02:44:14 djm Exp $ */ /* * Copyright (c) 2001-2004 Damien Miller * @@ -891,7 +891,10 @@ sglob_comp(const void *aa, const void *bb) return (rmul * strcmp(ap, bp)); else if (sort_flag & LS_TIME_SORT) { #if defined(HAVE_STRUCT_STAT_ST_MTIM) - return (rmul * timespeccmp(&as->st_mtim, &bs->st_mtim, <)); + if (timespeccmp(&as->st_mtim, &bs->st_mtim, ==)) + return 0; + return timespeccmp(&as->st_mtim, &bs->st_mtim, <) ? + rmul : -rmul; #elif defined(HAVE_STRUCT_STAT_ST_MTIME) return (rmul * NCMP(as->st_mtime, bs->st_mtime)); #else