Re: [libvirt PATCH] scripts/rpcgen: fix 64 unsigned int test on macOS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 30, 2023 at 05:17:09AM -0500, Andrea Bolognani wrote:
> On Thu, Nov 30, 2023 at 09:24:15AM +0000, Daniel P. Berrangé wrote:
> > macOS XDR library is an oddball using xdr_u_int64_t instead of
> > xdr_uint64_t which everyone else has.
> >
> > The code generator already does the right thing, but the test
> > program previously generated with the Linux rpcgen program
> > does not compile on macOS due to this.
> >
> > Signed-off-by: Daniel P. Berrangé <berrange@xxxxxxxxxx>
> > ---
> >  scripts/rpcgen/tests/demo.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> >
> > diff --git a/scripts/rpcgen/tests/demo.c b/scripts/rpcgen/tests/demo.c
> > index 182ed448f0..56a50239dc 100644
> > --- a/scripts/rpcgen/tests/demo.c
> > +++ b/scripts/rpcgen/tests/demo.c
> > @@ -1,4 +1,8 @@
> >
> > +#ifdef __APPLE__
> > +# define xdr_uint64_t xdr_u_int64_t
> > +#endif
> 
> This makes the compilation error go away, but I'm not convinced it's
> the right fix.
> 
> IIUC demo.{c,h} are generated from demo.x, so wouldn't this be
> overwritten the next time we regenerate them?

No, the demo.{c,h} are reference implementations from the original
rpcgen, which we'll never change.

The demo.x is processed by our own RPC generator code, and then we
check that both the original demo.c, and our own generated version
produce the same data on the wire.

> Also both Linux and macOS have xdr_u_int64_t, and we already seem to
> use the u_ variant for other things (u_short, u_int), so couldn't we
> just use xdr_u_int64_t everywhere and avoid the conditional?

IIRC, that would then break Windows

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux