diff options
author | Tijl Coosemans <tijl@FreeBSD.org> | 2024-01-22 10:35:31 +0000 |
---|---|---|
committer | Tijl Coosemans <tijl@FreeBSD.org> | 2024-01-24 09:58:00 +0000 |
commit | 95bf75895ddcf17402b1f69dce26cb821c922476 (patch) | |
tree | c55c01fc6e6eba64e9789b53ff8b67b779075c22 | |
parent | 7304bd7a526cbfc049d0348fe72c93f5309065d0 (diff) | |
download | src-95bf75895ddcf17402b1f69dce26cb821c922476.tar.gz src-95bf75895ddcf17402b1f69dce26cb821c922476.zip |
join(1): Fix ordering in case of missing fields
The comparison function had the ordering reversed causing join(1) to
miss some matching lines.
PR: 232405
Submitted by: Martijn van Duren <martijn@openbsd.org>
MFC after: 1 week
-rw-r--r-- | usr.bin/join/join.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.bin/join/join.c b/usr.bin/join/join.c index 09263ea16c22..b1be8cd81690 100644 --- a/usr.bin/join/join.c +++ b/usr.bin/join/join.c @@ -380,9 +380,9 @@ static int cmp(LINE *lp1, u_long fieldno1, LINE *lp2, u_long fieldno2) { if (lp1->fieldcnt <= fieldno1) - return (lp2->fieldcnt <= fieldno2 ? 0 : 1); + return (lp2->fieldcnt <= fieldno2 ? 0 : -1); if (lp2->fieldcnt <= fieldno2) - return (-1); + return (1); return (mbscoll(lp1->fields[fieldno1], lp2->fields[fieldno2])); } |