On 04/25/2010 05:31 AM, Matthias Bolte wrote:
Cygwin's XDR implementation defines xdr_u_int64_t instead of
xdr_uint64_t and lacks IXDR_PUT_INT32/IXDR_GET_INT32.
Would you mind reporting this upstream? Charles Wilson on the cygwin
list can probably fix that.
Alter the IXDR_GET_LONG regex in rpcgen_fix.pl so it doesn't destroy
the #define IXDR_GET_INT32 IXDR_GET_LONG in remote_protocol.x.
Also fix the remote_protocol.h regex in rpcgen_fix.pl.
-#include "./remote/remote_protocol.h"
+#include "remote_protocol.h"
#include "internal.h"
#include <arpa/inet.h>
+#ifdef HAVE_XDR_U_INT64_T
+# define xdr_uint64_t xdr_u_int64_t
+#endif
+#ifndef IXDR_PUT_INT32
+# define IXDR_PUT_INT32 IXDR_PUT_LONG
Is this ever going to bite us if cygwin adds support for 64-bit windows?
Then again, if we report the missing defines upstream, cygwin's xdr
implementation may be fixed before a 64-bit port.
But no problem in addressing things in parallel - ACK to this patch, so
we aren't sitting around waiting for an upstream patch.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org