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
This commit is contained in:
Tijl Coosemans 2024-01-22 11:35:31 +01:00
parent 7304bd7a52
commit 95bf75895d

View file

@ -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]));
}