From cf22c5c9b3a4a6cc81a269d49d2324b5df084d74 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 18 Feb 2009 15:49:44 +0000 Subject: Updated to fedora-glibc-20090218T1534 --- sunrpc/rpc/clnt.h | 2 +- sunrpc/rpc/pmap_clnt.h | 2 +- sunrpc/rpc/svc.h | 6 ++-- sunrpc/rpc/xdr.h | 2 +- sunrpc/rpc_common.c | 6 +++- sunrpc/rpc_main.c | 96 ++++++++++++++++++++++++++++++-------------------- sunrpc/rpcinfo.c | 59 ++++++++++++++++++++++--------- 7 files changed, 111 insertions(+), 62 deletions(-) (limited to 'sunrpc') diff --git a/sunrpc/rpc/clnt.h b/sunrpc/rpc/clnt.h index cf271c5c13..265bbe2528 100644 --- a/sunrpc/rpc/clnt.h +++ b/sunrpc/rpc/clnt.h @@ -405,7 +405,7 @@ extern char *clnt_sperrno (enum clnt_stat __num) __THROW; /* string */ * get the port number on the host for the rpc program,version and proto */ extern int getrpcport (__const char * __host, u_long __prognum, - u_long __versnum, u_int proto) __THROW; + u_long __versnum, u_int __proto) __THROW; /* * get the local host's IP address without consulting diff --git a/sunrpc/rpc/pmap_clnt.h b/sunrpc/rpc/pmap_clnt.h index 1b1c452915..997dddb323 100644 --- a/sunrpc/rpc/pmap_clnt.h +++ b/sunrpc/rpc/pmap_clnt.h @@ -45,7 +45,7 @@ __BEGIN_DECLS -typedef bool_t (*resultproc_t) (caddr_t resp, struct sockaddr_in *raddr); +typedef bool_t (*resultproc_t) (caddr_t __resp, struct sockaddr_in *__raddr); /* * Usage: diff --git a/sunrpc/rpc/svc.h b/sunrpc/rpc/svc.h index 171231919a..f29615d5d0 100644 --- a/sunrpc/rpc/svc.h +++ b/sunrpc/rpc/svc.h @@ -82,11 +82,11 @@ struct SVCXPRT { enum xprt_stat (*xp_stat) (SVCXPRT *__xprt); /* get transport status */ bool_t (*xp_getargs) (SVCXPRT *__xprt, xdrproc_t __xdr_args, - caddr_t args_ptr); /* get arguments */ + caddr_t __args_ptr); /* get arguments */ bool_t (*xp_reply) (SVCXPRT *__xprt, struct rpc_msg *__msg); /* send reply */ bool_t (*xp_freeargs) (SVCXPRT *__xprt, xdrproc_t __xdr_args, - caddr_t args_ptr); + caddr_t __args_ptr); /* free mem allocated for args */ void (*xp_destroy) (SVCXPRT *__xprt); /* destroy this struct */ @@ -226,7 +226,7 @@ extern void xprt_unregister (SVCXPRT *__xprt) __THROW; * deadlock the caller and server processes! */ -extern bool_t svc_sendreply (SVCXPRT *xprt, xdrproc_t __xdr_results, +extern bool_t svc_sendreply (SVCXPRT *__xprt, xdrproc_t __xdr_results, caddr_t __xdr_location) __THROW; extern void svcerr_decode (SVCXPRT *__xprt) __THROW; diff --git a/sunrpc/rpc/xdr.h b/sunrpc/rpc/xdr.h index ba9691d1af..75bc302980 100644 --- a/sunrpc/rpc/xdr.h +++ b/sunrpc/rpc/xdr.h @@ -316,7 +316,7 @@ extern bool_t xdr_opaque (XDR *__xdrs, caddr_t __cp, u_int __cnt) __THROW; extern bool_t xdr_string (XDR *__xdrs, char **__cpp, u_int __maxsize) __THROW; extern bool_t xdr_union (XDR *__xdrs, enum_t *__dscmp, char *__unp, __const struct xdr_discrim *__choices, - xdrproc_t dfault) __THROW; + xdrproc_t __dfault) __THROW; extern bool_t xdr_char (XDR *__xdrs, char *__cp) __THROW; extern bool_t xdr_u_char (XDR *__xdrs, u_char *__cp) __THROW; extern bool_t xdr_vector (XDR *__xdrs, char *__basep, u_int __nelem, diff --git a/sunrpc/rpc_common.c b/sunrpc/rpc_common.c index 6b22b3f66b..3fb0bda489 100644 --- a/sunrpc/rpc_common.c +++ b/sunrpc/rpc_common.c @@ -39,7 +39,11 @@ * This file should only contain common data (global data) that is exported * by public interfaces */ -struct opaque_auth _null_auth; +/* We are very tricky here. We want to have _null_auth in a read-only + section but we cannot add const to the type because this isn't how + the variable is declared. So we use the section attribute. */ +struct opaque_auth _null_auth __attribute__ ((nocommon)); +libc_hidden_def (_null_auth) fd_set svc_fdset; struct rpc_createerr rpc_createerr; struct pollfd *svc_pollfd; diff --git a/sunrpc/rpc_main.c b/sunrpc/rpc_main.c index a3d227e524..8a7d3695e2 100644 --- a/sunrpc/rpc_main.c +++ b/sunrpc/rpc_main.c @@ -52,6 +52,9 @@ #include "rpc_scan.h" #include "proto.h" +#include "../version.h" +#define PACKAGE _libc_intl_domainname + #define EXTEND 1 /* alias for TRUE */ #define DONT_EXTEND 0 /* alias for FALSE */ @@ -132,8 +135,9 @@ static void addarg (const char *cp); static void putarg (int whereto, const char *cp); static void checkfiles (const char *infile, const char *outfile); static int parseargs (int argc, const char *argv[], struct commandline *cmd); -static void usage (void) __attribute__ ((noreturn)); -static void options_usage (void) __attribute__ ((noreturn)); +static void usage (FILE *stream, int status) __attribute__ ((noreturn)); +static void options_usage (FILE *stream, int status) __attribute__ ((noreturn)); +static void print_version (void); static void c_initialize (void); static char *generate_guard (const char *pathname); @@ -185,7 +189,7 @@ main (int argc, const char *argv[]) (void) memset ((char *) &cmd, 0, sizeof (struct commandline)); clear_args (); if (!parseargs (argc, argv, &cmd)) - usage (); + usage (stderr, 1); if (cmd.cflag || cmd.hflag || cmd.lflag || cmd.tflag || cmd.sflag || cmd.mflag || cmd.nflag || cmd.Ssflag || cmd.Scflag) @@ -787,7 +791,7 @@ s_output (int argc, const char *argv[], const char *infile, const char *define, { if (outfilename) unlink (outfilename); - usage (); + usage (stderr, 1); } write_rest (); } @@ -1218,6 +1222,10 @@ parseargs (int argc, const char *argv[], struct commandline *cmd) } cmd->infile = argv[i]; } + else if (strcmp (argv[i], "--help") == 0) + usage (stdout, 0); + else if (strcmp (argv[i], "--version") == 0) + print_version (); else { for (j = 1; argv[i][j] != 0; j++) @@ -1442,46 +1450,56 @@ parseargs (int argc, const char *argv[], struct commandline *cmd) } static void -usage (void) +usage (FILE *stream, int status) { - fprintf (stderr, _("usage: %s infile\n"), cmdname); - fprintf (stderr, _("\t%s [-abkCLNTM][-Dname[=value]] [-i size] \ + fprintf (stream, _("usage: %s infile\n"), cmdname); + fprintf (stream, _("\t%s [-abkCLNTM][-Dname[=value]] [-i size] \ [-I [-K seconds]] [-Y path] infile\n"), cmdname); - fprintf (stderr, _("\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] \ + fprintf (stream, _("\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] \ [-o outfile] [infile]\n"), cmdname); - fprintf (stderr, _("\t%s [-s nettype]* [-o outfile] [infile]\n"), cmdname); - fprintf (stderr, _("\t%s [-n netid]* [-o outfile] [infile]\n"), cmdname); - options_usage (); - exit (1); + fprintf (stream, _("\t%s [-s nettype]* [-o outfile] [infile]\n"), cmdname); + fprintf (stream, _("\t%s [-n netid]* [-o outfile] [infile]\n"), cmdname); + options_usage (stream, status); + exit (status); +} + +static void +options_usage (FILE *stream, int status) +{ + f_print (stream, _("options:\n")); + f_print (stream, _("-a\t\tgenerate all files, including samples\n")); + f_print (stream, _("-b\t\tbackward compatibility mode (generates code for SunOS 4.1)\n")); + f_print (stream, _("-c\t\tgenerate XDR routines\n")); + f_print (stream, _("-C\t\tANSI C mode\n")); + f_print (stream, _("-Dname[=value]\tdefine a symbol (same as #define)\n")); + f_print (stream, _("-h\t\tgenerate header file\n")); + f_print (stream, _("-i size\t\tsize at which to start generating inline code\n")); + f_print (stream, _("-I\t\tgenerate code for inetd support in server (for SunOS 4.1)\n")); + f_print (stream, _("-K seconds\tserver exits after K seconds of inactivity\n")); + f_print (stream, _("-l\t\tgenerate client side stubs\n")); + f_print (stream, _("-L\t\tserver errors will be printed to syslog\n")); + f_print (stream, _("-m\t\tgenerate server side stubs\n")); + f_print (stream, _("-M\t\tgenerate MT-safe code\n")); + f_print (stream, _("-n netid\tgenerate server code that supports named netid\n")); + f_print (stream, _("-N\t\tsupports multiple arguments and call-by-value\n")); + f_print (stream, _("-o outfile\tname of the output file\n")); + f_print (stream, _("-s nettype\tgenerate server code that supports named nettype\n")); + f_print (stream, _("-Sc\t\tgenerate sample client code that uses remote procedures\n")); + f_print (stream, _("-Ss\t\tgenerate sample server code that defines remote procedures\n")); + f_print (stream, _("-Sm \t\tgenerate makefile template \n")); + f_print (stream, _("-t\t\tgenerate RPC dispatch table\n")); + f_print (stream, _("-T\t\tgenerate code to support RPC dispatch tables\n")); + f_print (stream, _("-Y path\t\tdirectory name to find C preprocessor (cpp)\n")); + + f_print (stream, "\n%s", _("\ +For bug reporting instructions, please see:\n\ +.\n")); + exit (status); } static void -options_usage (void) +print_version (void) { - f_print (stderr, "options:\n"); - f_print (stderr, "-a\t\tgenerate all files, including samples\n"); - f_print (stderr, "-b\t\tbackward compatibility mode (generates code for SunOS 4.1)\n"); - f_print (stderr, "-c\t\tgenerate XDR routines\n"); - f_print (stderr, "-C\t\tANSI C mode\n"); - f_print (stderr, "-Dname[=value]\tdefine a symbol (same as #define)\n"); - f_print (stderr, "-h\t\tgenerate header file\n"); - f_print (stderr, "-i size\t\tsize at which to start generating inline code\n"); - f_print (stderr, "-I\t\tgenerate code for inetd support in server (for SunOS 4.1)\n"); - f_print (stderr, "-K seconds\tserver exits after K seconds of inactivity\n"); - f_print (stderr, "-l\t\tgenerate client side stubs\n"); - f_print (stderr, "-L\t\tserver errors will be printed to syslog\n"); - f_print (stderr, "-m\t\tgenerate server side stubs\n"); - f_print (stderr, "-M\t\tgenerate MT-safe code\n"); - f_print (stderr, "-n netid\tgenerate server code that supports named netid\n"); - f_print (stderr, "-N\t\tsupports multiple arguments and call-by-value\n"); - f_print (stderr, "-o outfile\tname of the output file\n"); - f_print (stderr, "-s nettype\tgenerate server code that supports named nettype\n"); - f_print (stderr, "-Sc\t\tgenerate sample client code that uses remote procedures\n"); - f_print (stderr, "-Ss\t\tgenerate sample server code that defines remote procedures\n"); - f_print (stderr, "-Sm \t\tgenerate makefile template \n"); - f_print (stderr, "-t\t\tgenerate RPC dispatch table\n"); - f_print (stderr, "-T\t\tgenerate code to support RPC dispatch tables\n"); - f_print (stderr, "-Y path\t\tdirectory name to find C preprocessor (cpp)\n"); - - exit (1); + printf ("rpcgen (GNU %s) %s\n", PACKAGE, VERSION); + exit (0); } diff --git a/sunrpc/rpcinfo.c b/sunrpc/rpcinfo.c index d9da989660..91f360c2f3 100644 --- a/sunrpc/rpcinfo.c +++ b/sunrpc/rpcinfo.c @@ -58,6 +58,9 @@ static char sccsid[] = "@(#)rpcinfo.c 1.22 87/08/12 SMI"; #include #include +#include "../version.h" +#define PACKAGE _libc_intl_domainname + #define MAXHOSTLEN 256 #define MIN_VERS ((u_long) 0) @@ -70,7 +73,8 @@ static void pmapdump (int argc, char **argv); static bool_t reply_proc (void *res, struct sockaddr_in *who); static void brdcst (int argc, char **argv) __attribute__ ((noreturn)); static void deletereg (int argc, char **argv); -static void usage (void); +static void usage (FILE *stream); +static void print_version (void); static u_long getprognum (char *arg); static u_long getvers (char *arg); static void get_inet_address (struct sockaddr_in *addr, char *host); @@ -92,6 +96,11 @@ main (int argc, char **argv) int errflg; int function; u_short portnum; + static const struct option long_options[] = { + { "help", no_argument, NULL, 'H' }, + { "version", no_argument, NULL, 'V' }, + { NULL, 0, NULL, 0 } + }; setlocale (LC_ALL, ""); textdomain (_libc_intl_domainname); @@ -99,7 +108,7 @@ main (int argc, char **argv) function = NONE; portnum = 0; errflg = 0; - while ((c = getopt (argc, argv, "ptubdn:")) != -1) + while ((c = getopt_long (argc, argv, "ptubdn:", long_options, NULL)) != -1) { switch (c) { @@ -143,6 +152,14 @@ main (int argc, char **argv) function = DELETES; break; + case 'H': + usage (stdout); + return 0; + + case 'V': + print_version (); + return 0; + case '?': errflg = 1; } @@ -150,7 +167,7 @@ main (int argc, char **argv) if (errflg || function == NONE) { - usage (); + usage (stderr); return 1; } @@ -160,7 +177,7 @@ main (int argc, char **argv) case PMAPDUMP: if (portnum != 0) { - usage (); + usage (stderr); return 1; } pmapdump (argc - optind, argv + optind); @@ -177,7 +194,7 @@ main (int argc, char **argv) case BRDCST: if (portnum != 0) { - usage (); + usage (stderr); return 1; } brdcst (argc - optind, argv + optind); @@ -208,7 +225,7 @@ udpping (portnum, argc, argv) if (argc < 2 || argc > 3) { - usage (); + usage (stderr); exit (1); } prognum = getprognum (argv[1]); @@ -363,7 +380,7 @@ tcpping (portnum, argc, argv) if (argc < 2 || argc > 3) { - usage (); + usage (stderr); exit (1); } prognum = getprognum (argv[1]); @@ -532,7 +549,7 @@ pmapdump (argc, argv) if (argc > 1) { - usage (); + usage (stderr); exit (1); } if (argc == 1) @@ -624,7 +641,7 @@ brdcst (argc, argv) if (argc != 2) { - usage (); + usage (stderr); exit (1); } prognum = getprognum (argv[0]); @@ -650,7 +667,7 @@ deletereg (argc, argv) if (argc != 2) { - usage (); + usage (stderr); exit (1); } if (getuid ()) @@ -669,15 +686,25 @@ deletereg (argc, argv) } static void -usage () +usage (FILE *stream) { fputs (_("Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"), - stderr); + stream); fputs (_(" rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"), - stderr); - fputs (_(" rpcinfo -p [ host ]\n"), stderr); - fputs (_(" rpcinfo -b prognum versnum\n"), stderr); - fputs (_(" rpcinfo -d prognum versnum\n"), stderr); + stream); + fputs (_(" rpcinfo -p [ host ]\n"), stream); + fputs (_(" rpcinfo -b prognum versnum\n"), stream); + fputs (_(" rpcinfo -d prognum versnum\n"), stream); + fputc ('\n', stream); + fprintf (stream, _("\ +For bug reporting instructions, please see:\n\ +.\n")); +} + +static void +print_version (void) +{ + printf ("rpcinfo (GNU %s) %s\n", PACKAGE, VERSION); } static u_long -- cgit v1.2.3