Blame xdrutil_ppc.c

Packit a4aae4
/*  The the old-style C function prototypes such as those found in the XDR */
Packit a4aae4
/*  structure in <rpc/xdr.h> under OS X are not usable from C++.  This,    */
Packit a4aae4
/*  along with xdr_destroy() being a macro that expands into that old      */
Packit a4aae4
/*  style ("()" used to mean any number of unspecified args) means that    */
Packit a4aae4
/*  we cannot use delete_xdrstdio from C++ under OS X.  The other two      */
Packit a4aae4
/*  functions were brought along for uniformity.                           */
Packit a4aae4
/*  ROM - 6/22/2003                                                        */
Packit a4aae4
Packit a4aae4
#ifdef __POWERPC__
Packit a4aae4
#include <stdio.h>
Packit a4aae4
#include <rpc/types.h>
Packit a4aae4
#include <rpc/xdr.h>
Packit a4aae4
Packit a4aae4
XDR *
Packit a4aae4
new_xdrstdio(FILE *stream, enum xdr_op xop)
Packit a4aae4
{
Packit a4aae4
    XDR *xdr = (XDR *)malloc(sizeof(XDR));
Packit a4aae4
    
Packit a4aae4
    xdrstdio_create(xdr, stream, xop);
Packit a4aae4
    
Packit a4aae4
    return xdr;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
XDR *
Packit a4aae4
set_xdrstdio(XDR *xdr, FILE *stream, enum xdr_op xop)
Packit a4aae4
{
Packit a4aae4
    xdrstdio_create(xdr, stream, xop);
Packit a4aae4
    
Packit a4aae4
    return xdr;
Packit a4aae4
}
Packit a4aae4
Packit a4aae4
// Delete an XDR pointer allocated using the above function. Do not close the
Packit a4aae4
// associated FILE pointer.
Packit a4aae4
void
Packit a4aae4
delete_xdrstdio(XDR *xdr)
Packit a4aae4
{
Packit a4aae4
    xdr_destroy(xdr);
Packit a4aae4
Packit a4aae4
    free(xdr);xdr = 0;
Packit a4aae4
}
Packit a4aae4
#endif  /*  __POWERPC__  */