1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-10 05:03:06 +03:00

Suppress -Wcast-qual warnings in bsearch

The first cast to (void *) is redundant but should be (const void *)
anyway, because that's the type of the lvalue being assigned to.

The second cast is necessary and intentionally not const-correct, so
tell the compiler not to warn about it.

Reviewed-by: Florian Weimer <fweimer@redhat.com>
This commit is contained in:
Jonathan Wakely
2021-05-19 16:48:19 +01:00
parent 88361b408b
commit a725ff1de9

View File

@@ -29,14 +29,21 @@ bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
while (__l < __u) while (__l < __u)
{ {
__idx = (__l + __u) / 2; __idx = (__l + __u) / 2;
__p = (void *) (((const char *) __base) + (__idx * __size)); __p = (const void *) (((const char *) __base) + (__idx * __size));
__comparison = (*__compar) (__key, __p); __comparison = (*__compar) (__key, __p);
if (__comparison < 0) if (__comparison < 0)
__u = __idx; __u = __idx;
else if (__comparison > 0) else if (__comparison > 0)
__l = __idx + 1; __l = __idx + 1;
else else
#if __GNUC_PREREQ(4, 6)
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wcast-qual"
#endif
return (void *) __p; return (void *) __p;
#if __GNUC_PREREQ(4, 6)
# pragma GCC diagnostic pop
#endif
} }
return NULL; return NULL;