1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- --- a/libc/sunrpc/proto.h
- +++ b/libc/sunrpc/proto.h
- @@ -56,12 +56,14 @@ void add_type(int len, const char *type)
- $build's C library and $host's GLIBC. */
- #ifdef _CROSS_RPCGEN_
-
- +#undef stpcpy
- +
- /* Rather then defining _GNU_SOURCE before including $build's <string.h>
- we just declare stpcpy here. */
- extern char *stpcpy (char *, const char *);
-
- -/* Use $build's i18n support as we can't use $host's. */
- -#define _(X) (gettext (X))
- +/* Do not use i18n support */
- +#define _(X) (X)
-
- /* rpcgen sources check for __GNU_LIBRARY__ to tweak for GLIBC code
- that rpcgen generates. The proper fix would be to rename all those checks
- --- a/libc/sunrpc/rpc/types.h
- +++ b/libc/sunrpc/rpc/types.h
- @@ -70,18 +70,23 @@ typedef unsigned long rpcport_t;
- #endif
-
- #ifndef __u_char_defined
- -typedef __u_char u_char;
- -typedef __u_short u_short;
- -typedef __u_int u_int;
- -typedef __u_long u_long;
- -typedef __quad_t quad_t;
- -typedef __u_quad_t u_quad_t;
- -typedef __fsid_t fsid_t;
- +typedef unsigned char u_char;
- +typedef unsigned short u_short;
- +typedef unsigned int u_int;
- +typedef unsigned long u_long;
- +#if __WORDSIZE == 64
- +typedef long int quad_t;
- +typedef unsigned long int u_quad_t;
- +#elif defined __GLIBC_HAVE_LONG_LONG
- +typedef long long int quad_t;
- +typedef unsigned long long int u_quad_t;
- +#endif
- +typedef u_quad_t fsid_t;
- # define __u_char_defined
- #endif
- -#ifndef __daddr_t_defined
- -typedef __daddr_t daddr_t;
- -typedef __caddr_t caddr_t;
- +#if !defined(__daddr_t_defined) && defined(linux)
- +typedef long int daddr_t;
- +typedef char *caddr_t;
- # define __daddr_t_defined
- #endif
-
- --- a/libc/sunrpc/rpc_main.c
- +++ b/libc/sunrpc/rpc_main.c
- @@ -997,9 +997,10 @@ mkfile_output (struct commandline *cmd)
- abort ();
- temp = rindex (cmd->infile, '.');
- cp = stpcpy (mkfilename, "Makefile.");
- - if (temp != NULL)
- - *((char *) stpncpy (cp, cmd->infile, temp - cmd->infile)) = '\0';
- - else
- + if (temp != NULL) {
- + strncpy(cp, cmd->infile, temp - cmd->infile);
- + cp[temp - cmd->infile - 1] = 0;
- + } else
- stpcpy (cp, cmd->infile);
-
- }
|