On Thu, Feb 10, 2022 at 04:54:52PM -0800, Kees Cook wrote: > On Sun, Oct 17, 2021 at 02:38:17PM +0200, Christophe Leroy wrote: (edited:) > > +typedef struct { > > + unsigned long addr; > > +} func_desc_t; > > > > static func_desc_t func_desc(unsigned long addr) > > { > > + return (func_desc_t){addr}; > There's only 1 element in the struct, so okay, but it hurt my eyes a > little. I would have been happier with: > > return (func_desc_t){ .addr = addr; }; > > But of course that also looks bonkers because it starts with "return". > So no matter what I do my eyes bug out. ;) The usual way to avoid convoluted constructs is to name more factors. So: static func_desc_t func_desc(unsigned long addr) { func_desc_t desc = {}; desc.addr = addr; return desc; } Segher