On Wed, Apr 19, 2023 at 11:53:44AM +0100, Richard W.M. Jones wrote:
> On Tue, Apr 18, 2023 at 07:26:21PM +0200, Laszlo Ersek wrote:
> > (The changes in this patch are simple, but likely more controversial than
> > the rest.)
> > 
> > The following four components don't play nice together:
> > 
> > - Needlessly spelling out "extern" for function declarations in header
> >   files. (C99 6.2.2p5: "If the declaration of an identifier for a function
> >   has no storage-class specifier, its linkage is determined exactly as if
> >   it were declared with the storage-class specifier extern [...]".)
> 
> Well I didn't know that ...

https://stackoverflow.com/questions/18171373/why-are-some-functions-declared-extern-and-header-file-not-included-in-source-in/18173554#18173554

gives some more interesting details (including what happens if you
declare a function more than once, using different specifiers across
the declarations).

I'm okay with dropping extern on functions if you want, but that can
be a separate patch; leaving them doesn't hurt either (other than the
line length issues where your line splitting techniques are fine).

> > +++ b/lib/internal.h
> > @@ -407,7 +407,9 @@ extern int nbd_internal_wait_until_connected (struct 
> > nbd_handle *h)
> >    LIBNBD_ATTRIBUTE_NONNULL (1);
> >  
> >  /* crypto.c */
> > -extern struct socket *nbd_internal_crypto_create_session (struct 
> > nbd_handle *, struct socket *oldsock)
> > +extern struct socket *
> > +  nbd_internal_crypto_create_session (struct nbd_handle *,
> > +                                      struct socket *oldsock)
> >    LIBNBD_ATTRIBUTE_NONNULL (1, 2);

Looks reasonable to me.  emacs may have a bit of a difficulty in
auto-indenting this back to the same place, but it is infrequent
enough that manual override is still viable.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org
_______________________________________________
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs

Reply via email to