On 5/4/21 1:58 PM, Martin Sebor wrote: > On 4/23/21 10:01 AM, Florian Weimer wrote: >> * Martin Sebor: >> >>> On 4/23/21 4:31 AM, Florian Weimer wrote: >>>> * Martin Sebor via Libc-alpha: >>>> >>>>> diff --git a/sysdeps/gnu/net/if.h b/sysdeps/gnu/net/if.h >>>>> index e587a5ce59..30f3e281e5 100644 >>>>> --- a/sysdeps/gnu/net/if.h >>>>> +++ b/sysdeps/gnu/net/if.h >>>>> @@ -191,7 +191,9 @@ __BEGIN_DECLS >>>>>      /* Convert an interface name to an index, and vice versa.  */ >>>>>    extern unsigned int if_nametoindex (const char *__ifname) __THROW; >>>>> -extern char *if_indextoname (unsigned int __ifindex, char >>>>> *__ifname) __THROW; >>>>> +extern char *if_indextoname (unsigned int __ifindex, >>>>> +                 char __ifname[IF_NAMESIZE]) __THROW >>>>> +    __attr_access ((__write_only__, 2)); >>>>>      /* Return a list of all interfaces and their indices.  */ >>>>>    extern struct if_nameindex *if_nameindex (void) __THROW; >>>> Is the change from a pointer to an array allowed by POSIX? >>> >>> There's no way for a conforming program to tell how a function pointer >>> parameter is declared so I believe it is. >> >> Hmm, I think you might be right.  It's like parameter names in this >> regard. > > You sound disappointed ;) > > If there are no further comments/concerns I'll retest the patch on top > of the latest trunk and if all goes well go ahead with the commit later > this week. Retesting the changes with GCC 7 through 11 exposed a few minor bugs in Glibc tests and a possible false positive for makedb.c with GCC 10. I have fixed those and committed the attached patch in g:26492c0a14. Martin