Hi!

Just try to use the next hack:
#define xdrproc_t hack_xdrproc_t
#include <rpc/xdr.h>
#undef xdrproc_t
typedef bool_t (*xdrproc_t) __P((XDR *, void *, ...));

But probably it's better to fix this problem in the  
/usr/src/include/rpc/xdr.h file.

With best regards, 
Vladimir Silyaev

--------------------------------------------------

in RELENG_4, /usr/src/include/rpc/xdr.h, there is...

#ifdef _KERNEL
typedef bool_t (*xdrproc_t) __P((XDR *, void *, u_int));
#else
/*
 * XXX can't actually prototype it, because some take 
two args!!!
 */
typedef bool_t (*xdrproc_t) __P((/* XDR *, void *, u_int 
*/));
#endif

This causes heartburn for a program I'm trying to port. 
Specifically,
compiling a .cxx says that I am using too many 
arguments.

Changing the 2nd typedef to

typedef bool_t (*xdrproc_t) __P((XDR *, void *, ...));

fixes this. I am not enough of a language pedant to 
understand all
possible ramifications of this change. Can anyone 
suggest any
alternatives? I dug around quite a bit and could find no 
way
to compile the code in question without changing the 
system include
files. If this is the right thing to do, I would like to 
commit it.
If there is a better thing to do, I'd like to hear about 
it.





To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to