From: Joseph Myers Date: Fri, 30 Oct 2020 21:39:12 +0000 (+0000) Subject: Do not use array parameter to new_composite_name (bug 26726) X-Git-Tag: glibc-2.33~337 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=5c3b0374ebe0aa4b0a434c0addb4c455886a0986;p=glibc.git 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 --- diff --git a/locale/setlocale.c b/locale/setlocale.c index 030f1727bd..89e8724af3 100644 --- a/locale/setlocale.c +++ b/locale/setlocale.c @@ -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;