mirror of
git://git.musl-libc.org/musl
synced 2024-12-21 22:30:09 +00:00
fix lsearch and lfind to pass key as first arg to the compar callback
this is not a conformance issue as posix does not specify the argument order, but the order is specified for bsearch and some systems document the order for lsearch consistently (openbsd). since there were two indpendent reports of this issue it's better to use the more widely expected argument order.
This commit is contained in:
parent
0a4a16d11c
commit
827c4e6fbe
@ -9,7 +9,7 @@ void *lsearch(const void *key, void *base, size_t *nelp, size_t width,
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < n; i++)
|
||||
if (compar(p[i], key) == 0)
|
||||
if (compar(key, p[i]) == 0)
|
||||
return p[i];
|
||||
*nelp = n+1;
|
||||
return memcpy(p[n], key, width);
|
||||
@ -23,7 +23,7 @@ void *lfind(const void *key, const void *base, size_t *nelp,
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < n; i++)
|
||||
if (compar(p[i], key) == 0)
|
||||
if (compar(key, p[i]) == 0)
|
||||
return p[i];
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user