Do not use array parameter to new_composite_name (bug 26726)

Among the warnings causing a glibc build with GCC 11 to fail is one
for a call new_composite_name in setlocale.c.  The newnames argument
is declared as an array with __LC_LAST elements, but when the category
argument is not LC_ALL, it actually only has one element.  Since the
number of elements depends on the first argument to the function, it
seems clearer to declare the argument as a pointer.

Tested with build-many-glibcs.py for arm-linux-gnueabi, where this
allows the build to get further.

Reviewed-by: DJ Delorie <dj@redhat.com>
This commit is contained in:
Joseph Myers 2020-10-30 21:39:12 +00:00
parent 2098d4034d
commit 5c3b0374eb

View file

@ -135,7 +135,7 @@ extern int _nl_msg_cat_cntr;
/* Construct a new composite name. */
static char *
new_composite_name (int category, const char *newnames[__LC_LAST])
new_composite_name (int category, const char **newnames)
{
size_t last_len = 0;
size_t cumlen = 0;