diff options
Diffstat (limited to 'usr.bin/rpcgen')
-rw-r--r-- | usr.bin/rpcgen/rpc_clntout.c | 33 | ||||
-rw-r--r-- | usr.bin/rpcgen/rpc_cout.c | 129 | ||||
-rw-r--r-- | usr.bin/rpcgen/rpc_hout.c | 205 | ||||
-rw-r--r-- | usr.bin/rpcgen/rpc_main.c | 80 | ||||
-rw-r--r-- | usr.bin/rpcgen/rpc_parse.c | 14 | ||||
-rw-r--r-- | usr.bin/rpcgen/rpc_parse.h | 4 | ||||
-rw-r--r-- | usr.bin/rpcgen/rpc_sample.c | 143 | ||||
-rw-r--r-- | usr.bin/rpcgen/rpc_scan.c | 81 | ||||
-rw-r--r-- | usr.bin/rpcgen/rpc_svcout.c | 251 | ||||
-rw-r--r-- | usr.bin/rpcgen/rpc_tblout.c | 49 | ||||
-rw-r--r-- | usr.bin/rpcgen/rpc_util.c | 24 | ||||
-rw-r--r-- | usr.bin/rpcgen/rpc_util.h | 3 |
12 files changed, 476 insertions, 540 deletions
diff --git a/usr.bin/rpcgen/rpc_clntout.c b/usr.bin/rpcgen/rpc_clntout.c index bedeb643c72..d3367a58c80 100644 --- a/usr.bin/rpcgen/rpc_clntout.c +++ b/usr.bin/rpcgen/rpc_clntout.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rpc_clntout.c,v 1.5 2001/07/18 22:26:00 deraadt Exp $ */ +/* $OpenBSD: rpc_clntout.c,v 1.6 2001/11/24 19:17:47 deraadt Exp $ */ /* $NetBSD: rpc_clntout.c,v 1.4 1995/06/11 21:49:52 pk Exp $ */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for @@ -44,10 +44,10 @@ static char sccsid[] = "@(#)rpc_clntout.c 1.11 89/02/22 (C) 1987 SMI"; #include "rpc_parse.h" #include "rpc_util.h" -static write_program __P((definition *)); +static void write_program __P((definition *)); static void printbody __P((proc_list *)); -extern pdeclaration(); +extern void pdeclaration(); #define DEFAULT_TIMEOUT 25 /* in seconds */ static char RESULT[] = "clnt_res"; @@ -59,7 +59,7 @@ write_stubs() list *l; definition *def; - f_print(fout, + f_print(fout, "\n/* Default timeout can be changed using clnt_control() */\n"); f_print(fout, "static struct timeval TIMEOUT = { %d, 0 };\n", DEFAULT_TIMEOUT); @@ -71,7 +71,7 @@ write_stubs() } } -static +static void write_program(def) definition *def; { @@ -117,17 +117,17 @@ void printarglist( proc, addargname, addargtype ) ptype(proc->args.decls->decl.prefix, proc->args.decls->decl.type, 1); f_print(fout, "*argp;\n"); } - } else if (streq( proc->args.decls->decl.type, "void")) { + } else if (streq( proc->args.decls->decl.type, "void")) { /* newstyle, 0 argument */ - if( Cflag ) + if (Cflag) f_print(fout, "(%s%s)\n", addargtype, addargname ); else f_print(fout, "(%s)\n", addargname); } else { /* new style, 1 or multiple arguments */ - if( !Cflag ) { + if (!Cflag) { f_print(fout, "("); - for (l = proc->args.decls; l != NULL; l = l->next) + for (l = proc->args.decls; l != NULL; l = l->next) f_print(fout, "%s, ", l->decl.name); f_print(fout, "%s)\n", addargname ); for (l = proc->args.decls; l != NULL; l = l->next) { @@ -142,7 +142,7 @@ void printarglist( proc, addargname, addargtype ) } } - if( !Cflag ) + if (!Cflag) f_print(fout, "\t%s%s;\n", addargtype, addargname ); } @@ -165,13 +165,12 @@ printbody(proc) { decl_list *l; bool_t args2 = (proc->arg_num > 1); - int i; /* For new style with multiple arguments, need a structure in which to stuff the arguments. */ if ( newstyle && args2) { f_print(fout, "\t%s", proc->args.argname); - f_print(fout, " arg;\n"); + f_print(fout, " arg;\n"); } f_print(fout, "\tstatic "); if (streq(proc->res_type, "void")) { @@ -187,7 +186,7 @@ printbody(proc) /* newstyle, 0 arguments */ f_print(fout, "\tif (clnt_call(clnt, %s, xdr_void", proc->proc_name); - f_print(fout, + f_print(fout, ", NULL, xdr_%s, %s%s, TIMEOUT) != RPC_SUCCESS) {\n", stringfix(proc->res_type), ampr(proc->res_type), RESULT); @@ -200,15 +199,15 @@ printbody(proc) f_print(fout, "\tif (clnt_call(clnt, %s, xdr_%s", proc->proc_name, proc->args.argname); - f_print(fout, + f_print(fout, ", &arg, xdr_%s, %s%s, TIMEOUT) != RPC_SUCCESS) {\n", stringfix(proc->res_type), ampr(proc->res_type), RESULT); } else { /* single argument, new or old style */ f_print(fout, "\tif (clnt_call(clnt, %s, xdr_%s, %s%s, xdr_%s, %s%s, TIMEOUT) != RPC_SUCCESS) {\n", - proc->proc_name, - stringfix(proc->args.decls->decl.type), + proc->proc_name, + stringfix(proc->args.decls->decl.type), (newstyle ? "&" : ""), (newstyle ? proc->args.decls->decl.name : "argp"), stringfix(proc->res_type), @@ -217,7 +216,7 @@ printbody(proc) f_print(fout, "\t\treturn (NULL);\n"); f_print(fout, "\t}\n"); if (streq(proc->res_type, "void")) { - f_print(fout, "\treturn ((void *)%s%s);\n", + f_print(fout, "\treturn ((void *)%s%s);\n", ampr(proc->res_type),RESULT); } else { f_print(fout, "\treturn (%s%s);\n", ampr(proc->res_type),RESULT); diff --git a/usr.bin/rpcgen/rpc_cout.c b/usr.bin/rpcgen/rpc_cout.c index 1b2731949ae..e7993338607 100644 --- a/usr.bin/rpcgen/rpc_cout.c +++ b/usr.bin/rpcgen/rpc_cout.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rpc_cout.c,v 1.7 2001/11/07 18:44:28 deraadt Exp $ */ +/* $OpenBSD: rpc_cout.c,v 1.8 2001/11/24 19:17:47 deraadt Exp $ */ /* $NetBSD: rpc_cout.c,v 1.6 1996/10/01 04:13:53 cgd Exp $ */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for @@ -41,28 +41,30 @@ static char sccsid[] = "@(#)rpc_cout.c 1.13 89/02/22 (C) 1987 SMI"; #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <ctype.h> #include "rpc_parse.h" #include "rpc_util.h" -static findtype __P((definition *, char *)); -static undefined __P((char *)); -static print_generic_header __P((char *, int)); -static print_header __P((definition *)); -static print_prog_header __P((proc_list *)); -static print_trailer __P((void)); -static print_ifopen __P((int, char *)); -static print_ifarg __P((char *)); -static print_ifsizeof __P((char *, char *)); -static print_ifclose __P((int)); -static print_ifstat __P((int, char *, char *, relation, char *, char *, char *)); -static emit_num __P((definition *)); -static emit_program __P((definition *)); -static emit_enum __P((definition *)); -static emit_union __P((definition *)); -static emit_struct __P((definition *)); -static emit_typedef __P((definition *)); -static print_stat __P((int, declaration *)); - +static int findtype __P((definition *, char *)); +static int undefined __P((char *)); +static void print_generic_header __P((char *, int)); +static void print_header __P((definition *)); +static void print_prog_header __P((proc_list *)); +static void print_trailer __P((void)); +static void print_ifopen __P((int, char *)); +static void print_ifarg __P((char *)); +static void print_ifsizeof __P((char *, char *)); +static void print_ifclose __P((int)); +static void print_ifstat __P((int, char *, char *, relation, char *, char *, char *)); +static void emit_num __P((definition *)); +static void emit_program __P((definition *)); +static void emit_enum __P((definition *)); +static void emit_union __P((definition *)); +static void emit_struct __P((definition *)); +static void emit_typedef __P((definition *)); +static void print_stat __P((int, declaration *)); +void emit_inline __P((declaration *, int)); +void emit_single_in_line __P((declaration *, int, relation)); /* * Emit the C-routine for the given definition @@ -105,10 +107,10 @@ emit(def) print_trailer(); } -static +static int findtype(def, type) definition *def; - char *type; + char *type; { if (def->def_kind == DEF_PROGRAM || def->def_kind == DEF_CONST) { @@ -118,22 +120,20 @@ findtype(def, type) } } -static +static int undefined(type) - char *type; + char *type; { definition *def; def = (definition *) FINDVAL(defined, type, findtype); - - return (def == NULL); } -static +static void print_generic_header(procname, pointerp) - char *procname; - int pointerp; + char *procname; + int pointerp; { f_print(fout, "\n"); f_print(fout, "bool_t\n"); @@ -154,46 +154,37 @@ print_generic_header(procname, pointerp) } } -static +static void print_header(def) definition *def; { - - decl_list *dl; - bas_type *ptr; - int i; - - print_generic_header(def->def_name, def->def_kind != DEF_TYPEDEF || !isvectordef(def->def.ty.old_type, def->def.ty.rel)); /* Now add Inline support */ - if (doinline == 0) return; /* May cause lint to complain. but ... */ f_print(fout, "\tint32_t *buf;\n\n"); - } -static +static void print_prog_header(plist) proc_list *plist; { print_generic_header(plist->args.argname, 1); } -static +static void print_trailer() { f_print(fout, "\treturn (TRUE);\n"); f_print(fout, "}\n"); } - -static +static void print_ifopen(indent, name) int indent; char *name; @@ -202,14 +193,14 @@ print_ifopen(indent, name) f_print(fout, "if (!xdr_%s(xdrs", name); } -static +static void print_ifarg(arg) char *arg; { f_print(fout, ", %s", arg); } -static +static void print_ifsizeof(prefix, type) char *prefix; char *type; @@ -225,7 +216,7 @@ print_ifsizeof(prefix, type) } } -static +static void print_ifclose(indent) int indent; { @@ -236,7 +227,7 @@ print_ifclose(indent) f_print(fout, "}\n"); } -static +static void print_ifstat(indent, prefix, type, rel, amax, objname, name) int indent; char *prefix; @@ -314,7 +305,7 @@ print_ifstat(indent, prefix, type, rel, amax, objname, name) } /* ARGSUSED */ -static +static void emit_enum(def) definition *def; { @@ -323,7 +314,7 @@ emit_enum(def) print_ifclose(1); } -static +static void emit_program(def) definition *def; { @@ -344,8 +335,7 @@ emit_program(def) } } - -static +static void emit_union(def) definition *def; { @@ -359,7 +349,6 @@ emit_union(def) print_stat(1, &def->def.un.enum_decl); f_print(fout, "\tswitch (objp->%s) {\n", def->def.un.enum_decl.name); for (cl = def->def.un.cases; cl != NULL; cl = cl->next) { - f_print(fout, "\tcase %s:\n", cl->case_name); if (cl->contflag == 1) /* a continued case statement */ continue; @@ -407,7 +396,7 @@ emit_union(def) f_print(fout, "\t}\n"); } -static +static void emit_struct(def) definition *def; { @@ -419,7 +408,6 @@ emit_struct(def) char ptemp[256]; int can_inline; - if (doinline == 0) { for (dl = def->def.st.decls; dl != NULL; dl = dl->next) print_stat(1, &dl->decl); @@ -436,7 +424,6 @@ emit_struct(def) if ((dl->decl.prefix == NULL) && ((ptr = find_type(dl->decl.type)) != NULL) && ((dl->decl.rel == REL_ALIAS) || (dl->decl.rel == REL_VECTOR))) { - if (dl->decl.rel == REL_ALIAS) size += ptr->length; else { @@ -459,18 +446,13 @@ emit_struct(def) return; } - - - flag = PUT; for (j = 0; j < 2; j++) { - if (flag == PUT) f_print(fout, "\n\tif (xdrs->x_op == XDR_ENCODE) {\n"); else f_print(fout, "\t\treturn (TRUE);\n\t} else if (xdrs->x_op == XDR_DECODE) {\n"); - i = 0; size = 0; sizestr = NULL; @@ -503,7 +485,6 @@ emit_struct(def) else { sizestr = (char *)realloc(sizestr, strlen(sizestr) + strlen(ptemp) + 1); if (sizestr == NULL) { - f_print(stderr, "Fatal error : no memory\n"); crash(); } @@ -514,7 +495,7 @@ emit_struct(def) } } else { - if (i > 0) + if (i > 0) { if (sizestr == NULL && size < doinline) { /* don't expand into inline * code if size < doinline */ @@ -523,9 +504,6 @@ emit_struct(def) cur = cur->next; } } else { - - - /* were already looking at a * xdr_inlineable structure */ if (sizestr == NULL) @@ -559,6 +537,7 @@ emit_struct(def) f_print(fout, "\t\t}\n"); } + } size = 0; i = 0; sizestr = NULL; @@ -566,7 +545,7 @@ emit_struct(def) } } - if (i > 0) + if (i > 0) { if (sizestr == NULL && size < doinline) { /* don't expand into inline code if size < * doinline */ @@ -575,7 +554,6 @@ emit_struct(def) cur = cur->next; } } else { - /* were already looking at a xdr_inlineable * structure */ if (sizestr == NULL) @@ -610,6 +588,7 @@ emit_struct(def) } flag = GET; + } } f_print(fout, "\t\treturn (TRUE);\n\t}\n\n"); @@ -619,7 +598,7 @@ emit_struct(def) print_stat(1, &dl->decl); } -static +static void emit_typedef(def) definition *def; { @@ -628,11 +607,10 @@ emit_typedef(def) char *amax = def->def.ty.array_max; relation rel = def->def.ty.rel; - print_ifstat(1, prefix, type, rel, amax, "objp", def->def_name); } -static +static void print_stat(indent, dec) declaration *dec; int indent; @@ -651,16 +629,14 @@ print_stat(indent, dec) print_ifstat(indent, prefix, type, rel, amax, name, dec->name); } - char *upcase __P((char *)); - +void emit_inline(decl, flag) declaration *decl; int flag; { - -/*check whether an array or not */ + /*check whether an array or not */ switch (decl->rel) { case REL_ALIAS: @@ -677,6 +653,7 @@ emit_inline(decl, flag) } } +void emit_single_in_line(decl, flag, rel) declaration *decl; int flag; @@ -685,8 +662,6 @@ emit_single_in_line(decl, flag, rel) char *upp_case; int freed = 0; - - if (flag == PUT) f_print(fout, "\t\tIXDR_PUT_"); else @@ -718,17 +693,14 @@ emit_single_in_line(decl, flag, rel) f_print(fout, "%s(buf);\n", upp_case); if (!freed) free(upp_case); - } - char * upcase(str) char *str; { char *ptr, *hptr; - ptr = (char *) malloc(strlen(str)+1); if (ptr == (char *) NULL) { f_print(stderr, "malloc failed\n"); @@ -741,5 +713,4 @@ upcase(str) *ptr = '\0'; return (hptr); - } diff --git a/usr.bin/rpcgen/rpc_hout.c b/usr.bin/rpcgen/rpc_hout.c index f705e4c5f3c..fc76b6e9a9d 100644 --- a/usr.bin/rpcgen/rpc_hout.c +++ b/usr.bin/rpcgen/rpc_hout.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rpc_hout.c,v 1.6 2001/07/18 22:26:00 deraadt Exp $ */ +/* $OpenBSD: rpc_hout.c,v 1.7 2001/11/24 19:17:47 deraadt Exp $ */ /* $NetBSD: rpc_hout.c,v 1.4 1995/06/11 21:49:55 pk Exp $ */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for @@ -43,18 +43,21 @@ static char sccsid[] = "@(#)rpc_hout.c 1.12 89/02/22 (C) 1987 SMI"; #include "rpc_parse.h" #include "rpc_util.h" -static pconstdef __P((definition *)); -static pargdef __P((definition *)); -static pstructdef __P((definition *)); -static puniondef __P((definition *)); -static pprogramdef __P((definition *)); -static penumdef __P((definition *)); -static ptypedef __P((definition *)); -static pdefine __P((char *, char *)); -static puldefine __P((char *, char *)); -static define_printed __P((proc_list *, version_list *)); -static undefined2 __P((char *, char *)); -static parglist __P((proc_list *, char *)); +static void pconstdef __P((definition *)); +static void pargdef __P((definition *)); +static void pstructdef __P((definition *)); +static void puniondef __P((definition *)); +static void pprogramdef __P((definition *)); +static void penumdef __P((definition *)); +static void ptypedef __P((definition *)); +static void pdefine __P((char *, char *)); +static void puldefine __P((char *, char *)); +static int define_printed __P((proc_list *, version_list *)); +static int undefined2 __P((char *, char *)); +static void parglist __P((proc_list *, char *)); +void pxdrfuncdecl(char *, int); +void pprocdef(proc_list *, version_list *, char *, int, int); +void pdeclaration(char *, declaration *, int, char *); /* * Print the C-version of an xdr definition @@ -64,12 +67,11 @@ print_datadef(def) definition *def; { - if (def->def_kind == DEF_PROGRAM ) /* handle data only */ + if (def->def_kind == DEF_PROGRAM) /* handle data only */ return; - if (def->def_kind != DEF_CONST) { + if (def->def_kind != DEF_CONST) f_print(fout, "\n"); - } switch (def->def_kind) { case DEF_STRUCT: pstructdef(def); @@ -91,10 +93,9 @@ print_datadef(def) break; } if (def->def_kind != DEF_PROGRAM && def->def_kind != DEF_CONST) { - pxdrfuncdecl( def->def_name, - def->def_kind != DEF_TYPEDEF || - !isvectordef(def->def.ty.old_type, def->def.ty.rel)); - + pxdrfuncdecl( def->def_name, + def->def_kind != DEF_TYPEDEF || + !isvectordef(def->def.ty.old_type, def->def.ty.rel)); } } @@ -108,29 +109,28 @@ print_funcdef(def) f_print(fout, "\n"); pprogramdef(def); break; - } + } } -pxdrfuncdecl( name, pointerp ) -char* name; -int pointerp; +void +pxdrfuncdecl(name, pointerp) + char *name; + int pointerp; { - f_print(fout,"#ifdef __cplusplus\n"); - f_print(fout, "extern \"C\" bool_t xdr_%s(XDR *, %s%s);\n", - name, - name, pointerp ? ("*") : ""); - f_print(fout,"#elif defined(__STDC__)\n"); - f_print(fout, "extern bool_t xdr_%s(XDR *, %s%s);\n", - name, - name, pointerp ? ("*") : ""); - f_print(fout,"#else /* Old Style C */\n"); - f_print(fout, "bool_t xdr_%s();\n", name); - f_print(fout,"#endif /* Old Style C */\n\n"); + f_print(fout,"#ifdef __cplusplus\n"); + f_print(fout, "extern \"C\" bool_t xdr_%s(XDR *, %s%s);\n", + name, name, pointerp ? ("*") : ""); + f_print(fout,"#elif defined(__STDC__)\n"); + f_print(fout, "extern bool_t xdr_%s(XDR *, %s%s);\n", + name, name, pointerp ? ("*") : ""); + f_print(fout,"#else /* Old Style C */\n"); + f_print(fout, "bool_t xdr_%s();\n", name); + f_print(fout,"#endif /* Old Style C */\n\n"); } -static +static void pconstdef(def) definition *def; { @@ -140,7 +140,7 @@ pconstdef(def) /* print out the definitions for the arguments of functions in the header file */ -static +static void pargdef(def) definition *def; { @@ -149,46 +149,41 @@ pargdef(def) char *name; proc_list *plist; - for (vers = def->def.pr.versions; vers != NULL; vers = vers->next) { - for(plist = vers->procs; plist != NULL; - plist = plist->next) { - - if (!newstyle || plist->arg_num < 2) { - continue; /* old style or single args */ - } - name = plist->args.argname; - f_print(fout, "struct %s {\n", name); - for (l = plist->args.decls; - l != NULL; l = l->next) { - pdeclaration(name, &l->decl, 1, ";\n" ); - } - f_print(fout, "};\n"); - f_print(fout, "typedef struct %s %s;\n", name, name); - pxdrfuncdecl( name,NULL ); - f_print( fout, "\n" ); + for(plist = vers->procs; plist != NULL; + plist = plist->next) { + if (!newstyle || plist->arg_num < 2) { + continue; /* old style or single args */ + } + name = plist->args.argname; + f_print(fout, "struct %s {\n", name); + for (l = plist->args.decls; + l != NULL; l = l->next) { + pdeclaration(name, &l->decl, 1, ";\n"); } + f_print(fout, "};\n"); + f_print(fout, "typedef struct %s %s;\n", name, name); + pxdrfuncdecl(name, NULL); + f_print(fout, "\n"); } - + } } - -static +static void pstructdef(def) definition *def; { - decl_list *l; char *name = def->def_name; + decl_list *l; f_print(fout, "struct %s {\n", name); - for (l = def->def.st.decls; l != NULL; l = l->next) { + for (l = def->def.st.decls; l != NULL; l = l->next) pdeclaration(name, &l->decl, 1, ";\n"); - } f_print(fout, "};\n"); f_print(fout, "typedef struct %s %s;\n", name, name); } -static +static void puniondef(def) definition *def; { @@ -205,19 +200,19 @@ puniondef(def) } f_print(fout, "\tunion {\n"); for (l = def->def.un.cases; l != NULL; l = l->next) { - if(l->contflag == 0) - pdeclaration(name, &l->case_decl, 2, ";\n" ); + if (l->contflag == 0) + pdeclaration(name, &l->case_decl, 2, ";\n"); } decl = def->def.un.default_decl; if (decl && !streq(decl->type, "void")) { - pdeclaration(name, decl, 2, ";\n" ); + pdeclaration(name, decl, 2, ";\n"); } f_print(fout, "\t} %s_u;\n", name); f_print(fout, "};\n"); f_print(fout, "typedef struct %s %s;\n", name, name); } -static +static void pdefine(name, num) char *name; char *num; @@ -225,7 +220,7 @@ pdefine(name, num) f_print(fout, "#define %s %s\n", name, num); } -static +static void puldefine(name, num) char *name; char *num; @@ -233,7 +228,7 @@ puldefine(name, num) f_print(fout, "#define %s ((u_long)%s)\n", name, num); } -static +static int define_printed(stop, start) proc_list *stop; version_list *start; @@ -254,7 +249,7 @@ define_printed(stop, start) /* NOTREACHED */ } -static +static void pprogramdef(def) definition *def; { @@ -262,16 +257,16 @@ pprogramdef(def) proc_list *proc; int i; char *ext; - + pargdef(def); puldefine(def->def_name, def->def.pr.prog_num); for (vers = def->def.pr.versions; vers != NULL; vers = vers->next) { if (tblflag) { f_print(fout, "extern struct rpcgen_table %s_%s_table[];\n", - locase(def->def_name), vers->vers_num); + locase(def->def_name), vers->vers_num); f_print(fout, "extern %s_%s_nproc;\n", - locase(def->def_name), vers->vers_num); + locase(def->def_name), vers->vers_num); } puldefine(vers->vers_name, vers->vers_num); @@ -279,47 +274,43 @@ pprogramdef(def) * Print out 3 definitions, one for ANSI-C, another for C++, * a third for old style C */ - - for(i=0;i<3;i++){ - if(i==0){ + for(i=0; i<3; i++) { + if (i==0) { f_print(fout,"\n#ifdef __cplusplus\n"); - ext="extern \"C\" "; - }else if ( i== 1){ + ext = "extern \"C\" "; + } else if (i==1) { f_print(fout,"\n#elif defined(__STDC__)\n"); - ext="extern " ; - }else{ + ext = "extern "; + } else { f_print(fout,"\n#else /* Old Style C */\n"); - ext="extern "; + ext = "extern "; } - - + for (proc = vers->procs; proc != NULL; proc = proc->next) { - if (!define_printed(proc, def->def.pr.versions)) { + if (!define_printed(proc, def->def.pr.versions)) puldefine(proc->proc_name, proc->proc_num); - } f_print(fout,"%s",ext); pprocdef(proc, vers, "CLIENT *", 0,i); f_print(fout,"%s",ext); pprocdef(proc, vers, "struct svc_req *", 1,i); - } - } f_print(fout,"#endif /* Old Style C */\n"); } } +void pprocdef(proc, vp, addargtype, server_p,mode) proc_list *proc; version_list *vp; - char* addargtype; + char *addargtype; int server_p; int mode; { - ptype( proc->res_prefix, proc->res_type, 1 ); - f_print( fout, "* " ); - if( server_p ) + ptype(proc->res_prefix, proc->res_type, 1); + f_print(fout, "* "); + if (server_p) pvname_svc(proc->proc_name, vp->vers_num); else pvname(proc->proc_name, vp->vers_num); @@ -327,40 +318,37 @@ pprocdef(proc, vp, addargtype, server_p,mode) /* * mode 0 == cplusplus, mode 1 = ANSI-C, mode 2 = old style C */ - if(mode == 0 || mode ==1) - parglist( proc, addargtype ); + if (mode == 0 || mode == 1) + parglist(proc, addargtype); else f_print(fout, "();\n"); } - /* print out argument list of procedure */ -static +static void parglist(proc, addargtype) proc_list *proc; - char* addargtype; + char *addargtype; { decl_list *dl; f_print(fout,"("); - if( proc->arg_num < 2 && newstyle && - streq( proc->args.decls->decl.type, "void")) { + if (proc->arg_num < 2 && newstyle && + streq(proc->args.decls->decl.type, "void")) { /* 0 argument in new style: do nothing */ } else { for (dl = proc->args.decls; dl != NULL; dl = dl->next) { - ptype( dl->decl.prefix, dl->decl.type, 1 ); - if( !newstyle ) - f_print( fout, "*" ); /* old style passes by reference */ - - f_print( fout, ", " ); + ptype(dl->decl.prefix, dl->decl.type, 1); + if (!newstyle) + f_print(fout, "*"); /* old style passes by reference */ + f_print(fout, ", "); } } - f_print(fout, "%s);\n", addargtype); } -static +static void penumdef(def) definition *def; { @@ -392,7 +380,7 @@ penumdef(def) f_print(fout, "typedef enum %s %s;\n", name, name); } -static +static void ptypedef(def) definition *def; { @@ -401,7 +389,6 @@ ptypedef(def) char prefix[8]; /* enough to contain "struct ", including NUL */ relation rel = def->def.ty.rel; - if (!streq(name, old)) { if (streq(old, "string")) { old = "char"; @@ -439,6 +426,7 @@ ptypedef(def) } } +void pdeclaration(name, dec, tab, separator) char *name; declaration *dec; @@ -449,9 +437,8 @@ pdeclaration(name, dec, tab, separator) char *prefix; char *type; - if (streq(dec->type, "void")) { + if (streq(dec->type, "void")) return; - } tabify(fout, tab); if (streq(dec->type, name) && !dec->prefix) { f_print(fout, "struct "); @@ -493,10 +480,10 @@ pdeclaration(name, dec, tab, separator) break; } } - f_print(fout, separator ); + f_print(fout, separator); } -static +static int undefined2(type, stop) char *type; char *stop; diff --git a/usr.bin/rpcgen/rpc_main.c b/usr.bin/rpcgen/rpc_main.c index c9b49e57e01..ec39fac49c1 100644 --- a/usr.bin/rpcgen/rpc_main.c +++ b/usr.bin/rpcgen/rpc_main.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rpc_main.c,v 1.8 2001/11/07 18:44:28 deraadt Exp $ */ +/* $OpenBSD: rpc_main.c,v 1.9 2001/11/24 19:17:47 deraadt Exp $ */ /* $NetBSD: rpc_main.c,v 1.9 1996/02/19 11:12:43 pk Exp $ */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for @@ -32,7 +32,7 @@ #ifndef lint static char sccsid[] = "@(#)rpc_main.c 1.30 89/03/30 (C) 1987 SMI"; -static char cvsid[] = "$OpenBSD: rpc_main.c,v 1.8 2001/11/07 18:44:28 deraadt Exp $"; +static char cvsid[] = "$OpenBSD: rpc_main.c,v 1.9 2001/11/24 19:17:47 deraadt Exp $"; #endif /* @@ -203,7 +203,7 @@ main(argc, argv) if (allfiles) { reinitialize(); clnt_output(cmd.infile, "-DRPC_CLIENT", EXTEND, "_client.c"); - } + } } #ifdef __MSDOS__ if (dos_cppfile != NULL) { @@ -297,13 +297,13 @@ static void find_cpp() { struct stat buf; - if( stat(CPP, &buf) < 0 ) { /* SVR4 or explicit cpp does not exist */ + if (stat(CPP, &buf) < 0 ) { /* SVR4 or explicit cpp does not exist */ if (cppDefined) { fprintf( stderr, "cannot find C preprocessor: %s \n", CPP ); crash(); } else { /* try the other one */ CPP = SUNOS_CPP; - if( stat( CPP, &buf ) < 0 ) { /* can't find any cpp */ + if (stat( CPP, &buf ) < 0 ) { /* can't find any cpp */ fprintf( stderr, "cannot find any C preprocessor: %s\n", CPP ); crash(); } @@ -392,7 +392,7 @@ open_input(infile, define) } /* valid tirpc nettypes */ -static char* valid_ti_nettypes[] = +static char *valid_ti_nettypes[] = { "netpath", "visible", @@ -407,7 +407,7 @@ static char* valid_ti_nettypes[] = }; /* valid inetd nettypes */ -static char* valid_i_nettypes[] = +static char *valid_i_nettypes[] = { "udp", "tcp", @@ -415,17 +415,16 @@ static char* valid_i_nettypes[] = }; static int check_nettype( name, list_to_check ) -char* name; -char* list_to_check[]; +char *name; +char *list_to_check[]; { - int i; - for( i = 0; list_to_check[i] != NULL; i++ ) { - if( strcmp( name, list_to_check[i] ) == 0 ) { - return 1; - } - } - f_print( stderr, "illegal nettype :\'%s\'\n", name ); - return 0; + int i; + for( i = 0; list_to_check[i] != NULL; i++ ) { + if (strcmp( name, list_to_check[i] ) == 0) + return 1; + } + f_print(stderr, "illegal nettype :\'%s\'\n", name); + return 0; } /* @@ -445,7 +444,7 @@ c_output(infile, define, extend, outfile) long tell; c_initialize(); - open_input(infile, define); + open_input(infile, define); outfilename = extend ? extendfile(infile, outfile) : outfile; open_output(infile, outfilename); add_warning(); @@ -490,10 +489,10 @@ char rpcgen_table_dcl[] = "struct rpcgen_table {\n\ };\n"; -char* generate_guard( pathname ) - char* pathname; +char *generate_guard( pathname ) + char *pathname; { - char* filename, *guard, *tmp; + char *filename, *guard, *tmp; filename = strrchr(pathname, '/' ); /* find last component */ filename = ((filename == 0) ? pathname : filename+1); @@ -505,7 +504,7 @@ char* generate_guard( pathname ) *tmp = toupper(*tmp); tmp++; } - + guard = extendfile(guard, "_H_RPCGEN"); return( guard ); } @@ -605,17 +604,17 @@ s_output(argc, argv, infile, define, extend, outfile, nomain, netflag) timerflag = 1; } - if( !tirpcflag && inetdflag ) + if (!tirpcflag && inetdflag) f_print(fout, "#include <sys/ttycom.h>/* TIOCNOTTY */\n"); - if( Cflag && (inetdflag || pmflag ) ) { + if (Cflag && (inetdflag || pmflag )) { f_print(fout, "#ifdef __cplusplus\n"); f_print(fout, "#include <sysent.h> /* getdtablesize, open */\n"); f_print(fout, "#endif /* __cplusplus */\n"); - if( tirpcflag ) + if (tirpcflag) f_print(fout, "#include <unistd.h> /* setsid */\n"); } - if( tirpcflag ) + if (tirpcflag) f_print(fout, "#include <sys/types.h>\n"); f_print(fout, "#include <memory.h>\n"); @@ -654,7 +653,7 @@ s_output(argc, argv, infile, define, extend, outfile, nomain, netflag) f_print(fout, "\nstatic SVCXPRT *caller;\n"); /*EVAS*/ write_most(infile, netflag, nomain); if (!nomain) { - if( !do_registers(argc, argv) ) { + if (!do_registers(argc, argv)) { if (outfilename) (void) unlink(outfilename); usage(); @@ -740,7 +739,7 @@ svc_output(infile, define, extend, outfile) char *outfilename; long tell; - open_input(infile, define); + open_input(infile, define); outfilename = extend ? extendfile(infile, outfile) : outfile; checkfiles(infile,outfilename); /*check if outfile already exists. if so, print an error message and exit*/ @@ -777,7 +776,7 @@ clnt_output(infile, define, extend, outfile) long tell; int has_program = 0; - open_input(infile, define); + open_input(infile, define); outfilename = extend ? extendfile(infile, outfile) : outfile; checkfiles(infile,outfilename); /*check if outfile already exists. if so, print an error message and exit*/ @@ -794,7 +793,7 @@ clnt_output(infile, define, extend, outfile) has_program += write_sample_clnt(def); } - if( has_program ) + if (has_program) write_sample_clnt_main(); if (extend && tell == ftell(fout)) { @@ -816,7 +815,7 @@ int do_registers(argc, argv) if ( inetdflag || !tirpcflag) { for (i = 1; i < argc; i++) { if (streq(argv[i], "-s")) { - if(!check_nettype( argv[i + 1], valid_i_nettypes )) + if (!check_nettype( argv[i + 1], valid_i_nettypes )) return 0; write_inetd_register(argv[i + 1]); i++; @@ -825,7 +824,7 @@ int do_registers(argc, argv) } else { for (i = 1; i < argc; i++) if (streq(argv[i], "-s")) { - if(!check_nettype( argv[i + 1], valid_ti_nettypes )) + if (!check_nettype( argv[i + 1], valid_ti_nettypes )) return 0; write_nettype_register(argv[i + 1]); i++; @@ -864,7 +863,6 @@ putarg(where, cp) /*NOTREACHED*/ } arglist[where] = cp; - } /* @@ -881,8 +879,8 @@ char *outfile; struct stat buf; - if(infile) /* infile ! = NULL */ - if(stat(infile,&buf) < 0) + if (infile) /* infile ! = NULL */ + if (stat(infile,&buf) < 0) { perror(infile); crash(); @@ -964,9 +962,9 @@ parseargs(argc, argv, cmd) Ss means set flag['S']; Sc means set flag['C']; */ c = argv[i][++j]; /* get next char */ - if( c == 's' ) + if(c == 's') c = 'S'; - else if( c == 'c' ) + else if(c == 'c') c = 'C'; else return( 0 ); @@ -1071,22 +1069,22 @@ parseargs(argc, argv, cmd) cmd->Ssflag = flag['S']; cmd->Scflag = flag['C']; - if( tirpcflag ) { + if(tirpcflag) { pmflag = inetdflag ? 0 : 1; /* pmflag or inetdflag is always TRUE */ - if( (inetdflag && cmd->nflag)) { /* netid not allowed with inetdflag */ + if((inetdflag && cmd->nflag)) { /* netid not allowed with inetdflag */ f_print(stderr, "Cannot use netid flag with inetd flag!\n"); return (0); } } else { /* 4.1 mode */ pmflag = 0; /* set pmflag only in tirpcmode */ inetdflag = 1; /* inetdflag is TRUE by default */ - if( cmd->nflag ) { /* netid needs TIRPC */ + if (cmd->nflag) { /* netid needs TIRPC */ f_print( stderr, "Cannot use netid flag without TIRPC!\n"); return( 0 ); } } - if( newstyle && ( tblflag || cmd->tflag) ) { + if (newstyle && ( tblflag || cmd->tflag)) { f_print( stderr, "Cannot use table flags with newstyle!\n"); return( 0 ); } diff --git a/usr.bin/rpcgen/rpc_parse.c b/usr.bin/rpcgen/rpc_parse.c index 661e9d4e223..01fdd4ad672 100644 --- a/usr.bin/rpcgen/rpc_parse.c +++ b/usr.bin/rpcgen/rpc_parse.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rpc_parse.c,v 1.5 2001/11/07 18:44:28 deraadt Exp $ */ +/* $OpenBSD: rpc_parse.c,v 1.6 2001/11/24 19:17:47 deraadt Exp $ */ /* $NetBSD: rpc_parse.c,v 1.5 1995/08/29 23:05:55 cgd Exp $ */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for @@ -188,7 +188,7 @@ def_program(defp) decls->decl = dec; tailp = &decls->next; /* get args */ - while(peekscan(TOK_COMMA, &tok)) { + while (peekscan(TOK_COMMA, &tok)) { num_args++; get_prog_declaration(&dec, DEF_STRUCT, num_args); @@ -326,7 +326,7 @@ def_union(defp) cases->case_name = tok.str; scan(TOK_COLON, &tok); - }while(peekscan(TOK_CASE,&tok)); + } while (peekscan(TOK_CASE,&tok)); } else if(flag) @@ -359,7 +359,7 @@ def_union(defp) } } -static char* reserved_words[] = { +static char *reserved_words[] = { "array", "bytes", "destroy", @@ -375,7 +375,7 @@ static char* reserved_words[] = { NULL }; -static char* reserved_types[] = { +static char *reserved_types[] = { "opaque", "string", NULL @@ -385,7 +385,7 @@ static char* reserved_types[] = { xdr routines that would conflict with internal XDR routines. */ static check_type_name( name, new_type ) int new_type; -char* name; +char *name; { int i; char tmp[100]; @@ -504,7 +504,7 @@ get_prog_declaration(dec, dkind, num) sprintf(name, "%s%d", ARGNAME, num); /* default name of argument */ dec->name = (char *)strdup(name); - + if (streq(dec->type, "void")) { return; } diff --git a/usr.bin/rpcgen/rpc_parse.h b/usr.bin/rpcgen/rpc_parse.h index 4946c2bcb56..1c580b1493e 100644 --- a/usr.bin/rpcgen/rpc_parse.h +++ b/usr.bin/rpcgen/rpc_parse.h @@ -1,4 +1,4 @@ -/* $OpenBSD: rpc_parse.h,v 1.2 1996/06/26 05:38:37 deraadt Exp $ */ +/* $OpenBSD: rpc_parse.h,v 1.3 2001/11/24 19:17:47 deraadt Exp $ */ /* $NetBSD: rpc_parse.h,v 1.3 1995/06/11 21:50:00 pk Exp $ */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for @@ -115,7 +115,7 @@ struct arg_list { char *argname; /* name of struct for arg*/ decl_list *decls; }; - + typedef struct arg_list arg_list; struct proc_list { diff --git a/usr.bin/rpcgen/rpc_sample.c b/usr.bin/rpcgen/rpc_sample.c index ce5201e8ce9..485bab0d05f 100644 --- a/usr.bin/rpcgen/rpc_sample.c +++ b/usr.bin/rpcgen/rpc_sample.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rpc_sample.c,v 1.7 2001/11/24 17:59:22 miod Exp $ */ +/* $OpenBSD: rpc_sample.c,v 1.8 2001/11/24 19:17:47 deraadt Exp $ */ /* $NetBSD: rpc_sample.c,v 1.2 1995/06/11 21:50:01 pk Exp $ */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for @@ -48,9 +48,9 @@ static char sccsid[] = "@(#)rpc_sample.c 1.1 90/08/30 (C) 1987 SMI"; static char RQSTP[] = "rqstp"; void printarglist(); -static write_sample_client __P((char *, version_list *)); -static write_sample_server __P((definition *)); -static return_type __P((proc_list *)); +static void write_sample_client __P((char *, version_list *)); +static void write_sample_server __P((definition *)); +static void return_type __P((proc_list *)); void write_sample_svc(def) @@ -58,7 +58,7 @@ write_sample_svc(def) { if (def->def_kind != DEF_PROGRAM) - return; + return; write_sample_server(def); } @@ -71,31 +71,31 @@ write_sample_clnt(def) int count = 0; if (def->def_kind != DEF_PROGRAM) - return( 0 ); + return(0); /* generate sample code for each version */ for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { - write_sample_client(def->def_name, vp ); - ++count; + write_sample_client(def->def_name, vp); + ++count; } - return( count ); + return(count); } -static -write_sample_client(program_name, vp ) - char* program_name; +static void +write_sample_client(program_name, vp) + char *program_name; version_list *vp; { proc_list *proc; int i; decl_list *l; - f_print(fout, "\n\nvoid\n" ); - pvname( program_name, vp->vers_num ); - if( Cflag ) - f_print(fout,"( char* host )\n{\n" ); + f_print(fout, "\n\nvoid\n"); + pvname(program_name, vp->vers_num); + if (Cflag) + f_print(fout,"(char *host)\n{\n"); else - f_print(fout, "(host)\nchar *host;\n{\n" ); + f_print(fout, "(host)\nchar *host;\n{\n"); f_print(fout, "\tCLIENT *clnt;\n"); i = 0; @@ -104,23 +104,23 @@ write_sample_client(program_name, vp ) ptype(proc->res_prefix, proc->res_type, 1); f_print(fout, " *result_%d;\n",++i); /* print out declarations for arguments */ - if( proc->arg_num < 2 && !newstyle) { - f_print( fout, "\t" ); - if( !streq( proc->args.decls->decl.type, "void") ) + if (proc->arg_num < 2 && !newstyle) { + f_print(fout, "\t"); + if (!streq(proc->args.decls->decl.type, "void")) ptype(proc->args.decls->decl.prefix, proc->args.decls->decl.type, 1); else - f_print(fout, "char* "); /* cannot have "void" type */ + f_print(fout, "char *"); /* cannot have "void" type */ f_print(fout, " "); - pvname( proc->proc_name, vp->vers_num ); + pvname(proc->proc_name, vp->vers_num); f_print(fout, "_arg;\n"); - } else if (!streq( proc->args.decls->decl.type, "void")) { + } else if (!streq(proc->args.decls->decl.type, "void")) { for (l = proc->args.decls; l != NULL; l = l->next) { - f_print( fout, "\t" ); + f_print(fout, "\t"); ptype(l->decl.prefix, l->decl.type, 1); - f_print( fout, " "); - pvname( proc->proc_name, vp->vers_num ); - f_print(fout, "_%s;\n", l->decl.name ); -/* pdeclaration(proc->args.argname, &l->decl, 1, ";\n" );*/ + f_print(fout, " "); + pvname(proc->proc_name, vp->vers_num); + f_print(fout, "_%s;\n", l->decl.name); +/* pdeclaration(proc->args.argname, &l->decl, 1, ";\n");*/ } } } @@ -138,19 +138,19 @@ write_sample_client(program_name, vp ) f_print(fout, "\tresult_%d = ",++i); pvname(proc->proc_name, vp->vers_num); if (proc->arg_num < 2 && !newstyle) { - f_print(fout, "(" ); - if( streq( proc->args.decls->decl.type, "void") ) /* cast to void* */ + f_print(fout, "("); + if (streq(proc->args.decls->decl.type, "void")) /* cast to void* */ f_print(fout, "(void*)"); - f_print(fout, "&" ); - pvname(proc->proc_name, vp->vers_num ); + f_print(fout, "&"); + pvname(proc->proc_name, vp->vers_num); f_print(fout, "_arg, clnt);\n"); - } else if (streq( proc->args.decls->decl.type, "void")) { + } else if (streq(proc->args.decls->decl.type, "void")) { f_print(fout, "(clnt);\n"); } else { f_print(fout, "("); for (l = proc->args.decls; l != NULL; l = l->next) { - pvname( proc->proc_name, vp->vers_num ); + pvname(proc->proc_name, vp->vers_num); f_print(fout, "_%s, ", l->decl.name); } f_print(fout, "clnt);\n"); @@ -160,11 +160,11 @@ write_sample_client(program_name, vp ) f_print(fout, "\t}\n"); } - f_print(fout, "\tclnt_destroy( clnt );\n" ); + f_print(fout, "\tclnt_destroy(clnt);\n"); f_print(fout, "}\n"); } -static +static void write_sample_server(def) definition *def; { @@ -174,42 +174,42 @@ write_sample_server(def) for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { for (proc = vp->procs; proc != NULL; proc = proc->next) { f_print(fout, "\n"); -/* if( Cflag ) - f_print( fout, "extern \"C\"{\n"); +/* if (Cflag) + f_print(fout, "extern \"C\"{\n"); */ return_type(proc); f_print(fout, "* \n"); pvname_svc(proc->proc_name, vp->vers_num); - printarglist( proc, RQSTP, "struct svc_req *" ); + printarglist(proc, RQSTP, "struct svc_req *"); f_print(fout, "{\n"); f_print(fout, "\n\tstatic "); - if( !streq( proc->res_type, "void") ) - return_type(proc); + if (!streq(proc->res_type, "void")) + return_type(proc); else - f_print(fout, "char*" ); /* cannot have void type */ + f_print(fout, "char*"); /* cannot have void type */ f_print(fout, " result;\n"); f_print(fout, - "\n\t/*\n\t * insert server code here\n\t */\n\n"); - if( !streq( proc->res_type, "void") ) - f_print(fout, "\treturn(&result);\n}\n"); + "\n\t/*\n\t * insert server code here\n\t */\n\n"); + if (!streq(proc->res_type, "void")) + f_print(fout, "\treturn(&result);\n}\n"); else /* cast back to void * */ - f_print(fout, "\treturn((void*) &result);\n}\n"); -/* if( Cflag) - f_print( fout, "}\n"); + f_print(fout, "\treturn((void*) &result);\n}\n"); +/* if (Cflag) + f_print(fout, "}\n"); */ - - } + } } } -static +static void return_type(plist) proc_list *plist; { - ptype( plist->res_prefix, plist->res_type, 1 ); + ptype(plist->res_prefix, plist->res_type, 1); } +void add_sample_msg() { f_print(fout, "/*\n"); @@ -222,32 +222,31 @@ add_sample_msg() void write_sample_clnt_main() { - list *l; - definition *def; - version_list *vp; + list *l; + definition *def; + version_list *vp; - f_print(fout, "\n\n" ); - if( Cflag ) - f_print(fout,"main( int argc, char* argv[] )\n{\n" ); - else - f_print(fout, "main(argc, argv)\nint argc;\nchar *argv[];\n{\n" ); + f_print(fout, "\n\n"); + if (Cflag) + f_print(fout,"main(int argc, char *argv[])\n{\n"); + else + f_print(fout, "main(argc, argv)\nint argc;\nchar *argv[];\n{\n"); - f_print(fout, "\tchar *host;"); - f_print(fout, "\n\n\tif(argc < 2) {"); - f_print(fout, "\n\t\tprintf(\"usage: %%s server_host\\n\", argv[0]);\n" ); - f_print(fout, "\t\texit(1);\n\t}"); - f_print(fout, "\n\thost = argv[1];\n"); + f_print(fout, "\tchar *host;"); + f_print(fout, "\n\n\tif (argc < 2) {"); + f_print(fout, "\n\t\tprintf(\"usage: %%s server_host\\n\", argv[0]);\n"); + f_print(fout, "\t\texit(1);\n\t}"); + f_print(fout, "\n\thost = argv[1];\n"); - for (l = defined; l != NULL; l = l->next) { + for (l = defined; l != NULL; l = l->next) { def = l->val; - if (def->def_kind != DEF_PROGRAM) { + if (def->def_kind != DEF_PROGRAM) continue; - } for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { - f_print( fout, "\t" ); + f_print(fout, "\t"); pvname(def->def_name, vp->vers_num); - f_print( fout, "( host );\n" ); - } + f_print(fout, "(host);\n"); } - f_print(fout, "}\n"); + } + f_print(fout, "}\n"); } diff --git a/usr.bin/rpcgen/rpc_scan.c b/usr.bin/rpcgen/rpc_scan.c index 7b60cf6c70e..5f2f6a963e4 100644 --- a/usr.bin/rpcgen/rpc_scan.c +++ b/usr.bin/rpcgen/rpc_scan.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rpc_scan.c,v 1.4 2001/07/18 22:26:00 deraadt Exp $ */ +/* $OpenBSD: rpc_scan.c,v 1.5 2001/11/24 19:17:47 deraadt Exp $ */ /* $NetBSD: rpc_scan.c,v 1.4 1995/06/11 21:50:02 pk Exp $ */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for @@ -35,8 +35,8 @@ static char sccsid[] = "@(#)rpc_scan.c 1.11 89/02/22 (C) 1987 SMI"; #endif /* - * rpc_scan.c, Scanner for the RPC protocol compiler - * Copyright (C) 1987, Sun Microsystems, Inc. + * rpc_scan.c, Scanner for the RPC protocol compiler + * Copyright (C) 1987, Sun Microsystems, Inc. */ #include <sys/cdefs.h> #include <stdlib.h> @@ -64,7 +64,7 @@ static int pushed = 0; /* is a token pushed */ static token lasttok; /* last token, if pushed */ /* - * scan expecting 1 given token + * scan expecting 1 given token */ void scan(expect, tokp) @@ -72,13 +72,12 @@ scan(expect, tokp) token *tokp; { get_token(tokp); - if (tokp->kind != expect) { + if (tokp->kind != expect) expected1(expect); - } } /* - * scan expecting any of the 2 given tokens + * scan expecting any of the 2 given tokens */ void scan2(expect1, expect2, tokp) @@ -87,13 +86,12 @@ scan2(expect1, expect2, tokp) token *tokp; { get_token(tokp); - if (tokp->kind != expect1 && tokp->kind != expect2) { + if (tokp->kind != expect1 && tokp->kind != expect2) expected2(expect1, expect2); - } } /* - * scan expecting any of the 3 given token + * scan expecting any of the 3 given token */ void scan3(expect1, expect2, expect3, tokp) @@ -103,14 +101,13 @@ scan3(expect1, expect2, expect3, tokp) token *tokp; { get_token(tokp); - if (tokp->kind != expect1 && tokp->kind != expect2 - && tokp->kind != expect3) { + if (tokp->kind != expect1 && tokp->kind != expect2 && + tokp->kind != expect3) expected3(expect1, expect2, expect3); - } } /* - * scan expecting a constant, possibly symbolic + * scan expecting a constant, possibly symbolic */ void scan_num(tokp) @@ -126,7 +123,7 @@ scan_num(tokp) } /* - * Peek at the next token + * Peek at the next token */ void peek(tokp) @@ -137,7 +134,7 @@ peek(tokp) } /* - * Peek at the next token and scan it if it matches what you expect + * Peek at the next token and scan it if it matches what you expect */ int peekscan(expect, tokp) @@ -153,7 +150,7 @@ peekscan(expect, tokp) } /* - * Get the next token, printing out any directive that are encountered. + * Get the next token, printing out any directive that are encountered. */ void get_token(tokp) @@ -179,8 +176,8 @@ get_token(tokp) if (commenting) { break; } else if (cppline(curline)) { - docppline(curline, &linenum, - &infilename); + docppline(curline, &linenum, + &infilename); } else if (directive(curline)) { printdirective(curline); } else { @@ -209,7 +206,7 @@ get_token(tokp) } /* - * 'where' is not whitespace, comment or directive Must be a token! + * 'where' is not whitespace, comment or directive Must be a token! */ switch (*where) { case ':': @@ -392,28 +389,28 @@ findconst(str, val) } static token symbols[] = { - {TOK_CONST, "const"}, - {TOK_UNION, "union"}, - {TOK_SWITCH, "switch"}, - {TOK_CASE, "case"}, - {TOK_DEFAULT, "default"}, - {TOK_STRUCT, "struct"}, - {TOK_TYPEDEF, "typedef"}, - {TOK_ENUM, "enum"}, - {TOK_OPAQUE, "opaque"}, - {TOK_BOOL, "bool"}, - {TOK_VOID, "void"}, - {TOK_CHAR, "char"}, - {TOK_INT, "int"}, - {TOK_UNSIGNED, "unsigned"}, - {TOK_SHORT, "short"}, - {TOK_LONG, "long"}, - {TOK_FLOAT, "float"}, - {TOK_DOUBLE, "double"}, - {TOK_STRING, "string"}, - {TOK_PROGRAM, "program"}, - {TOK_VERSION, "version"}, - {TOK_EOF, "??????"}, + {TOK_CONST, "const"}, + {TOK_UNION, "union"}, + {TOK_SWITCH, "switch"}, + {TOK_CASE, "case"}, + {TOK_DEFAULT, "default"}, + {TOK_STRUCT, "struct"}, + {TOK_TYPEDEF, "typedef"}, + {TOK_ENUM, "enum"}, + {TOK_OPAQUE, "opaque"}, + {TOK_BOOL, "bool"}, + {TOK_VOID, "void"}, + {TOK_CHAR, "char"}, + {TOK_INT, "int"}, + {TOK_UNSIGNED, "unsigned"}, + {TOK_SHORT, "short"}, + {TOK_LONG, "long"}, + {TOK_FLOAT, "float"}, + {TOK_DOUBLE, "double"}, + {TOK_STRING, "string"}, + {TOK_PROGRAM, "program"}, + {TOK_VERSION, "version"}, + {TOK_EOF, "??????"}, }; static diff --git a/usr.bin/rpcgen/rpc_svcout.c b/usr.bin/rpcgen/rpc_svcout.c index 5e11637e87c..47beaf93e3b 100644 --- a/usr.bin/rpcgen/rpc_svcout.c +++ b/usr.bin/rpcgen/rpc_svcout.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rpc_svcout.c,v 1.7 2001/11/24 17:59:22 miod Exp $ */ +/* $OpenBSD: rpc_svcout.c,v 1.8 2001/11/24 19:17:47 deraadt Exp $ */ /* $NetBSD: rpc_svcout.c,v 1.7 1995/06/24 14:59:59 pk Exp $ */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for @@ -67,61 +67,61 @@ static write_rpc_svc_fg __P((char *, char *)); static open_log_file __P((char *, char *)); static -p_xdrfunc( rname, typename ) -char* rname; -char* typename; +p_xdrfunc(rname, typename) +char *rname; +char *typename; { - if( Cflag ) - f_print(fout, "\t\txdr_%s = (xdrproc_t) xdr_%s;\n", rname, - stringfix(typename) ); - else - f_print(fout, "\t\txdr_%s = xdr_%s;\n", rname, stringfix(typename) ); -} + if (Cflag) + f_print(fout, "\t\txdr_%s = (xdrproc_t) xdr_%s;\n", + rname, stringfix(typename)); + else + f_print(fout, "\t\txdr_%s = xdr_%s;\n", rname, + stringfix(typename)); +} void internal_proctype(plist) proc_list *plist; { f_print(fout, "static "); - ptype( plist->res_prefix, plist->res_type, 1 ); - f_print( fout, "*" ); + ptype(plist->res_prefix, plist->res_type, 1); + f_print(fout, "*"); } - /* - * write most of the service, that is, everything but the registrations. + * write most of the service, that is, everything but the registrations. */ void write_most(infile, netflag, nomain) char *infile; /* our name */ int netflag; - int nomain; + int nomain; { if (inetdflag || pmflag) { - char* var_type; + char *var_type; var_type = (nomain? "extern" : "static"); - f_print(fout, "%s int _rpcpmstart;", var_type ); - f_print(fout, "\t\t/* Started by a port monitor ? */\n"); - f_print(fout, "%s int _rpcfdtype;", var_type ); + f_print(fout, "%s int _rpcpmstart;", var_type); + f_print(fout, "\t\t/* Started by a port monitor ? */\n"); + f_print(fout, "%s int _rpcfdtype;", var_type); f_print(fout, "\t\t/* Whether Stream or Datagram ? */\n"); if (timerflag) { - f_print(fout, "%s int _rpcsvcdirty;", var_type ); + f_print(fout, "%s int _rpcsvcdirty;", var_type); f_print(fout, "\t/* Still serving ? */\n"); } - write_svc_aux( nomain ); + write_svc_aux(nomain); } /* write out dispatcher and stubs */ - write_programs( nomain? (char *)NULL : "static" ); + write_programs(nomain? (char *)NULL : "static"); - if( nomain ) - return; + if (nomain) + return; f_print(fout, "\nmain()\n"); f_print(fout, "{\n"); if (inetdflag) { write_inetmost(infile); /* Includes call to write_rpc_svc_fg() */ } else { - if( tirpcflag ) { + if (tirpcflag) { if (netflag) { f_print(fout, "\tSVCXPRT *%s;\n", TRANSP); f_print(fout, "\tstruct netconfig *nconf = NULL;\n"); @@ -146,7 +146,7 @@ write_most(infile, netflag, nomain) } /* - * write a registration for the given transport + * write a registration for the given transport */ void write_netid_register(transp) @@ -163,12 +163,12 @@ write_netid_register(transp) f_print(fout, "%s\tnconf = getnetconfigent(\"%s\");\n", sp, transp); f_print(fout, "%s\tif (nconf == NULL) {\n", sp); (void) sprintf(_errbuf, "cannot find %s netid.", transp); - sprintf(tmpbuf, "%s\t\t", sp); + snprintf(tmpbuf, sizeof tmpbuf, "%s\t\t", sp); print_err_message(tmpbuf); f_print(fout, "%s\t\texit(1);\n", sp); f_print(fout, "%s\t}\n", sp); f_print(fout, "%s\t%s = svc_tli_create(RPC_ANYFD, nconf, 0, 0, 0);\n", - sp, TRANSP); + sp, TRANSP); f_print(fout, "%s\tif (%s == NULL) {\n", sp, TRANSP); (void) sprintf(_errbuf, "cannot create %s service.", transp); print_err_message(tmpbuf); @@ -177,20 +177,19 @@ write_netid_register(transp) for (l = defined; l != NULL; l = l->next) { def = (definition *) l->val; - if (def->def_kind != DEF_PROGRAM) { + if (def->def_kind != DEF_PROGRAM) continue; - } for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { f_print(fout, - "%s\t(void) rpcb_unset(%s, %s, nconf);\n", - sp, def->def_name, vp->vers_name); + "%s\t(void) rpcb_unset(%s, %s, nconf);\n", + sp, def->def_name, vp->vers_name); f_print(fout, - "%s\tif (!svc_reg(%s, %s, %s, ", - sp, TRANSP, def->def_name, vp->vers_name); + "%s\tif (!svc_reg(%s, %s, %s, ", + sp, TRANSP, def->def_name, vp->vers_name); pvname(def->def_name, vp->vers_num); f_print(fout, ", nconf)) {\n"); (void) sprintf(_errbuf, "unable to register (%s, %s, %s).", - def->def_name, vp->vers_name, transp); + def->def_name, vp->vers_name, transp); print_err_message(tmpbuf); f_print(fout, "%s\t\texit(1);\n", sp); f_print(fout, "%s\t}\n", sp); @@ -212,17 +211,16 @@ write_nettype_register(transp) for (l = defined; l != NULL; l = l->next) { def = (definition *) l->val; - if (def->def_kind != DEF_PROGRAM) { + if (def->def_kind != DEF_PROGRAM) continue; - } for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { f_print(fout, "\tif (!svc_create("); pvname(def->def_name, vp->vers_num); f_print(fout, ", %s, %s, \"%s\")) {\n", - def->def_name, vp->vers_name, transp); + def->def_name, vp->vers_name, transp); (void) sprintf(_errbuf, - "unable to create (%s, %s) for %s.", - def->def_name, vp->vers_name, transp); + "unable to create (%s, %s) for %s.", + def->def_name, vp->vers_name, transp); print_err_message("\t\t"); f_print(fout, "\t\texit(1);\n"); f_print(fout, "\t}\n"); @@ -231,7 +229,7 @@ write_nettype_register(transp) } /* - * write the rest of the service + * write the rest of the service */ void write_rest() @@ -245,9 +243,9 @@ write_rest() f_print(fout, "\t}\n"); if (timerflag) { f_print(fout, "\tif (_rpcpmstart) {\n"); - f_print(fout, - "\t\t(void) signal(SIGALRM, %s closedown);\n", - Cflag? "(SIG_PF)" : "(void(*)())" ); + f_print(fout, + "\t\t(void) signal(SIGALRM, %s closedown);\n", + Cflag? "(SIG_PF)" : "(void(*)())"); f_print(fout, "\t\t(void) alarm(_RPCSVC_CLOSEDOWN);\n"); f_print(fout, "\t}\n"); } @@ -264,26 +262,22 @@ void write_programs(storage) char *storage; { - list *l; definition *def; + list *l; /* write out stubs for procedure definitions */ for (l = defined; l != NULL; l = l->next) { def = (definition *) l->val; - if (def->def_kind == DEF_PROGRAM) { + if (def->def_kind == DEF_PROGRAM) write_real_program(def); - } } /* write out dispatcher for each program */ for (l = defined; l != NULL; l = l->next) { def = (definition *) l->val; - if (def->def_kind == DEF_PROGRAM) { + if (def->def_kind == DEF_PROGRAM) write_program(def, storage); - } } - - } /* write out definition of internal function (e.g. _printmsg_1(...)) @@ -298,31 +292,31 @@ write_real_program(def) proc_list *proc; decl_list *l; - if( !newstyle ) return; /* not needed for old style */ + if (!newstyle) return; /* not needed for old style */ for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { for (proc = vp->procs; proc != NULL; proc = proc->next) { f_print(fout, "\n"); internal_proctype(proc); f_print(fout, "\n_"); pvname(proc->proc_name, vp->vers_num); - if( Cflag ) { - f_print(fout, "(" ); + if (Cflag) { + f_print(fout, "("); /* arg name */ if (proc->arg_num > 1) f_print(fout, proc->args.argname); else - ptype(proc->args.decls->decl.prefix, + ptype(proc->args.decls->decl.prefix, proc->args.decls->decl.type, 0); - f_print(fout, " *argp, struct svc_req *%s)\n", + f_print(fout, " *argp, struct svc_req *%s)\n", RQSTP); } else { - f_print(fout, "(argp, %s)\n", RQSTP ); + f_print(fout, "(argp, %s)\n", RQSTP); /* arg name */ if (proc->arg_num > 1) f_print(fout, "\t%s *argp;\n", proc->args.argname); else { f_print(fout, "\t"); - ptype(proc->args.decls->decl.prefix, + ptype(proc->args.decls->decl.prefix, proc->args.decls->decl.type, 0); f_print(fout, " *argp;\n"); } @@ -334,18 +328,18 @@ write_real_program(def) pvname_svc(proc->proc_name, vp->vers_num); f_print(fout, "("); if (proc->arg_num < 2) { /* single argument */ - if (!streq( proc->args.decls->decl.type, "void")) + if (!streq(proc->args.decls->decl.type, "void")) f_print(fout, "*argp, "); /* non-void */ } else { - for (l = proc->args.decls; l != NULL; l = l->next) + for (l = proc->args.decls; l != NULL; l = l->next) f_print(fout, "argp->%s, ", l->decl.name); } f_print(fout, "%s));\n}\n", RQSTP); - } + } } } -static +static write_program(def, storage) definition *def; char *storage; @@ -356,40 +350,36 @@ write_program(def, storage) for (vp = def->def.pr.versions; vp != NULL; vp = vp->next) { f_print(fout, "\n"); - if (storage != NULL) { + if (storage != NULL) f_print(fout, "%s ", storage); - } f_print(fout, "void\n"); pvname(def->def_name, vp->vers_num); if (Cflag) { - f_print(fout, "(struct svc_req *%s, ", RQSTP); - f_print(fout, "register SVCXPRT *%s)\n", TRANSP); + f_print(fout, "(struct svc_req *%s, ", RQSTP); + f_print(fout, "register SVCXPRT *%s)\n", TRANSP); } else { - f_print(fout, "(%s, %s)\n", RQSTP, TRANSP); - f_print(fout, " struct svc_req *%s;\n", RQSTP); - f_print(fout, " register SVCXPRT *%s;\n", TRANSP); + f_print(fout, "(%s, %s)\n", RQSTP, TRANSP); + f_print(fout, " struct svc_req *%s;\n", RQSTP); + f_print(fout, " register SVCXPRT *%s;\n", TRANSP); } - f_print(fout, "{\n"); filled = 0; f_print(fout, "\tunion {\n"); for (proc = vp->procs; proc != NULL; proc = proc->next) { if (proc->arg_num < 2) { /* single argument */ - if (streq(proc->args.decls->decl.type, - "void")) { + if (streq(proc->args.decls->decl.type, + "void")) continue; - } filled = 1; f_print(fout, "\t\t"); - ptype(proc->args.decls->decl.prefix, - proc->args.decls->decl.type, 0); + ptype(proc->args.decls->decl.prefix, + proc->args.decls->decl.type, 0); pvname(proc->proc_name, vp->vers_num); f_print(fout, "_arg;\n"); - } - else { + } else { filled = 1; f_print(fout, "\t\t%s", proc->args.argname); f_print(fout, " "); @@ -397,25 +387,24 @@ write_program(def, storage) f_print(fout, "_arg;\n"); } } - if (!filled) { + if (!filled) f_print(fout, "\t\tint fill;\n"); - } f_print(fout, "\t} %s;\n", ARG); f_print(fout, "\tchar *%s;\n", RESULT); if (Cflag) { - f_print(fout, "\txdrproc_t xdr_%s, xdr_%s;\n", ARG, RESULT); - f_print(fout, + f_print(fout, "\txdrproc_t xdr_%s, xdr_%s;\n", ARG, RESULT); + f_print(fout, "\tchar *(*%s)(char *, struct svc_req *);\n", ROUTINE); } else { - f_print(fout, "\tbool_t (*xdr_%s)(), (*xdr_%s)();\n", ARG, RESULT); - f_print(fout, "\tchar *(*%s)();\n", ROUTINE); + f_print(fout, "\tbool_t (*xdr_%s)(), (*xdr_%s)();\n", + ARG, RESULT); + f_print(fout, "\tchar *(*%s)();\n", ROUTINE); } - f_print(fout, "\n"); - if (callerflag) + if (callerflag) f_print(fout, "\tcaller = transp;\n"); /*EVAS*/ if (timerflag) f_print(fout, "\t_rpcsvcdirty = 1;\n"); @@ -423,35 +412,35 @@ write_program(def, storage) if (!nullproc(vp->procs)) { f_print(fout, "\tcase NULLPROC:\n"); f_print(fout, - Cflag - ? "\t\t(void) svc_sendreply(%s, (xdrproc_t) xdr_void, (char *)NULL);\n" - : "\t\t(void) svc_sendreply(%s, xdr_void, (char *)NULL);\n", - TRANSP); + Cflag + ? "\t\t(void) svc_sendreply(%s, (xdrproc_t) xdr_void, (char *)NULL);\n" + : "\t\t(void) svc_sendreply(%s, xdr_void, (char *)NULL);\n", + TRANSP); print_return("\t\t"); f_print(fout, "\n"); } for (proc = vp->procs; proc != NULL; proc = proc->next) { f_print(fout, "\tcase %s:\n", proc->proc_name); if (proc->arg_num < 2) { /* single argument */ - p_xdrfunc( ARG, proc->args.decls->decl.type); + p_xdrfunc(ARG, proc->args.decls->decl.type); } else { - p_xdrfunc( ARG, proc->args.argname); + p_xdrfunc(ARG, proc->args.argname); } - p_xdrfunc( RESULT, proc->res_type); - if( Cflag ) - f_print(fout, + p_xdrfunc(RESULT, proc->res_type); + if (Cflag) + f_print(fout, "\t\t%s = (char *(*)(char *, struct svc_req *)) ", ROUTINE); else - f_print(fout, "\t\t%s = (char *(*)()) ", ROUTINE); + f_print(fout, "\t\t%s = (char *(*)()) ", ROUTINE); if (newstyle) { /* new style: calls internal routine */ f_print(fout,"_"); } - if (!newstyle ) - pvname_svc(proc->proc_name, vp->vers_num); + if (!newstyle) + pvname_svc(proc->proc_name, vp->vers_num); else - pvname(proc->proc_name, vp->vers_num); + pvname(proc->proc_name, vp->vers_num); f_print(fout, ";\n"); f_print(fout, "\t\tbreak;\n\n"); } @@ -461,24 +450,24 @@ write_program(def, storage) f_print(fout, "\t}\n"); f_print(fout, "\t(void) memset((char *)&%s, 0, sizeof (%s));\n", ARG, ARG); - printif("getargs", TRANSP, "(caddr_t) &", ARG); + printif ("getargs", TRANSP, "(caddr_t) &", ARG); printerr("decode", TRANSP); print_return("\t\t"); f_print(fout, "\t}\n"); if (Cflag) - f_print(fout, "\t%s = (*%s)((char *)&%s, %s);\n", + f_print(fout, "\t%s = (*%s)((char *)&%s, %s);\n", RESULT, ROUTINE, ARG, RQSTP); else - f_print(fout, "\t%s = (*%s)(&%s, %s);\n", + f_print(fout, "\t%s = (*%s)(&%s, %s);\n", RESULT, ROUTINE, ARG, RQSTP); - f_print(fout, - "\tif (%s != NULL && !svc_sendreply(%s, xdr_%s, %s)) {\n", - RESULT, TRANSP, RESULT, RESULT); + f_print(fout, + "\tif (%s != NULL && !svc_sendreply(%s, xdr_%s, %s)) {\n", + RESULT, TRANSP, RESULT, RESULT); printerr("systemerr", TRANSP); f_print(fout, "\t}\n"); - printif("freeargs", TRANSP, "(caddr_t) &", ARG); + printif ("freeargs", TRANSP, "(caddr_t) &", ARG); (void) sprintf(_errbuf, "unable to free arguments"); print_err_message("\t\t"); f_print(fout, "\t\texit(1);\n"); @@ -497,23 +486,22 @@ printerr(err, transp) } static -printif(proc, transp, prefix, arg) +printif (proc, transp, prefix, arg) char *proc; char *transp; char *prefix; char *arg; { f_print(fout, "\tif (!svc_%s(%s, xdr_%s, %s%s)) {\n", - proc, transp, arg, prefix, arg); + proc, transp, arg, prefix, arg); } nullproc(proc) proc_list *proc; { for (; proc != NULL; proc = proc->next) { - if (streq(proc->proc_num, "0")) { + if (streq(proc->proc_num, "0")) return (1); - } } return (0); } @@ -528,7 +516,7 @@ write_inetmost(infile) f_print(fout, "\tstruct sockaddr_in saddr;\n"); f_print(fout, "\tint asize = sizeof (saddr);\n"); f_print(fout, "\n"); - f_print(fout, + f_print(fout, "\tif (getsockname(0, (struct sockaddr *)&saddr, &asize) == 0) {\n"); f_print(fout, "\t\tint ssize = sizeof (int);\n\n"); f_print(fout, "\t\tif (saddr.sin_family != AF_INET)\n"); @@ -564,17 +552,17 @@ static print_pmapunset(space) char *space; { - list *l; - definition *def; version_list *vp; + definition *def; + list *l; for (l = defined; l != NULL; l = l->next) { def = (definition *) l->val; if (def->def_kind == DEF_PROGRAM) { for (vp = def->def.pr.versions; vp != NULL; - vp = vp->next) { + vp = vp->next) { f_print(fout, "%s(void) pmap_unset(%s, %s);\n", - space, def->def_name, vp->vers_name); + space, def->def_name, vp->vers_name); } } } @@ -593,16 +581,16 @@ print_err_message(space) } /* - * Write the server auxiliary function ( _msgout, timeout) + * Write the server auxiliary function (_msgout, timeout) */ void -write_svc_aux( nomain ) +write_svc_aux(nomain) int nomain; { if (!logflag) write_msg_out(); - if( !nomain ) - write_timeout_func(); + if (!nomain) + write_timeout_func(); if (callerflag) /*EVAS*/ write_caller_func(); /*EVAS*/ } @@ -615,11 +603,11 @@ write_msg_out() { f_print(fout, "\n"); f_print(fout, "static\n"); - if( !Cflag ) { - f_print(fout, "void _msgout(msg)\n"); - f_print(fout, "\tchar *msg;\n"); + if (!Cflag) { + f_print(fout, "void _msgout(msg)\n"); + f_print(fout, "\tchar *msg;\n"); } else { - f_print(fout, "void _msgout(char* msg)\n"); + f_print(fout, "void _msgout(char *msg)\n"); } f_print(fout, "{\n"); f_print(fout, "#ifdef RPC_SVC_FG\n"); @@ -725,7 +713,7 @@ write_pm_most(infile, netflag) f_print(fout, "\t\tstruct netconfig *nconf = NULL;\n"); f_print(fout, "\t\tSVCXPRT *%s;\n", TRANSP); } - if( timerflag ) + if (timerflag) f_print(fout, "\t\tint pmclose;\n"); /* not necessary, defined in /usr/include/stdlib */ /* f_print(fout, "\t\textern char *getenv();\n");*/ @@ -751,7 +739,7 @@ write_pm_most(infile, netflag) f_print(fout, "\t\t\t\texit(1);\n"); f_print(fout, "\t\t\t}\n"); f_print(fout, "\t\t}\n"); - if( timerflag ) + if (timerflag) f_print(fout, "\t\tpmclose = (t_getstate(0) != T_DATAXFER);\n"); f_print(fout, "\t\tif ((%s = svc_tli_create(0, nconf, NULL, 0, 0)) == NULL) {\n", TRANSP); @@ -782,7 +770,7 @@ write_pm_most(infile, netflag) if (timerflag) { f_print(fout, "\t\tif (pmclose) {\n"); f_print(fout, "\t\t\t(void) signal(SIGALRM, %s closedown);\n", - Cflag? "(SIG_PF)" : "(void(*)())" ); + Cflag? "(SIG_PF)" : "(void(*)())"); f_print(fout, "\t\t\t(void) alarm(_RPCSVC_CLOSEDOWN);\n"); f_print(fout, "\t\t}\n"); } @@ -802,7 +790,7 @@ write_rpc_svc_fg(infile, sp) { f_print(fout, "#ifndef RPC_SVC_FG\n"); f_print(fout, "%sint size;\n", sp); - if( tirpcflag ) + if (tirpcflag) f_print(fout, "%sstruct rlimit rl;\n", sp); if (inetdflag) f_print(fout, "%sint pid, i;\n\n", sp); @@ -814,7 +802,7 @@ write_rpc_svc_fg(infile, sp) f_print(fout, "%sif (pid)\n", sp); f_print(fout, "%s\texit(0);\n", sp); /* get number of file descriptors */ - if( tirpcflag ) { + if (tirpcflag) { f_print(fout, "%srl.rlim_max = 0;\n", sp); f_print(fout, "%sgetrlimit(RLIMIT_NOFILE, &rl);\n", sp); f_print(fout, "%sif ((size = rl.rlim_max) == 0)\n", sp); @@ -830,7 +818,7 @@ write_rpc_svc_fg(infile, sp) f_print(fout, "%s(void) dup2(i, 1);\n", sp); f_print(fout, "%s(void) dup2(i, 2);\n", sp); /* This removes control of the controlling terminal */ - if( tirpcflag ) + if (tirpcflag) f_print(fout, "%ssetsid();\n", sp); else { f_print(fout, "%si = open(\"/dev/tty\", 2);\n", sp); @@ -854,16 +842,13 @@ open_log_file(infile, sp) char *s; s = strrchr(infile, '.'); - if (s) + if (s) *s = '\0'; f_print(fout,"%sopenlog(\"%s\", LOG_PID, LOG_DAEMON);\n", sp, infile); if (s) *s = '.'; } - - - /* * write a registration for the given transport for Inetd */ @@ -938,7 +923,7 @@ write_inetd_register(transp) pvname(def->def_name, vp->vers_num); if (inetdflag) f_print(fout, ", proto)) {\n"); - else + else f_print(fout, ", IPPROTO_%s)) {\n", isudp ? "UDP": "TCP"); (void) sprintf(_errbuf, "unable to register (%s, %s, %s).", diff --git a/usr.bin/rpcgen/rpc_tblout.c b/usr.bin/rpcgen/rpc_tblout.c index c0851addc6f..4de0d822a76 100644 --- a/usr.bin/rpcgen/rpc_tblout.c +++ b/usr.bin/rpcgen/rpc_tblout.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rpc_tblout.c,v 1.4 2001/07/18 22:26:00 deraadt Exp $ */ +/* $OpenBSD: rpc_tblout.c,v 1.5 2001/11/24 19:17:47 deraadt Exp $ */ /* $NetBSD: rpc_tblout.c,v 1.3 1995/06/24 15:00:15 pk Exp $ */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for @@ -53,30 +53,29 @@ static char tbl_hdr[] = "struct rpcgen_table %s_table[] = {\n"; static char tbl_end[] = "};\n"; static char null_entry[] = "\n\t(char *(*)())0,\n\ - \t(xdrproc_t) xdr_void,\t\t\t0,\n\ - \t(xdrproc_t) xdr_void,\t\t\t0,\n"; +\t(xdrproc_t) xdr_void,\t\t\t0,\n\ +\t(xdrproc_t) xdr_void,\t\t\t0,\n"; static char tbl_nproc[] = "int %s_nproc =\n\tsizeof(%s_table)/sizeof(%s_table[0]);\n\n"; -static write_table __P((definition *)); -static printit __P((char *, char *)); +static void write_table __P((definition *)); +static void printit __P((char *, char *)); void write_tables() { - list *l; definition *def; + list *l; f_print(fout, "\n"); for (l = defined; l != NULL; l = l->next) { def = (definition *) l->val; - if (def->def_kind == DEF_PROGRAM) { + if (def->def_kind == DEF_PROGRAM) write_table(def); - } } } -static +static void write_table(def) definition *def; { @@ -104,10 +103,10 @@ write_table(def) current = atoi(proc->proc_num); if (current != expected++) { f_print(fout, - "\n/*\n * WARNING: table out of order\n */\n"); + "\n/*\n * WARNING: table out of order\n */\n"); if (warning == 0) { f_print(stderr, - "WARNING %s table is out of order\n", + "WARNING %s table is out of order\n", progvers); warning = 1; nonfatalerrors = 1; @@ -117,22 +116,22 @@ write_table(def) f_print(fout, "\n\t(char *(*)())RPCGEN_ACTION("); /* routine to invoke */ - if ( !newstyle) - pvname_svc(proc->proc_name, vp->vers_num); + if (!newstyle) + pvname_svc(proc->proc_name, vp->vers_num); else { - if( newstyle ) - f_print( fout, "_"); /* calls internal func */ - pvname(proc->proc_name, vp->vers_num); + if (newstyle) + f_print(fout, "_"); /* calls internal func */ + pvname(proc->proc_name, vp->vers_num); } f_print(fout, "),\n"); /* argument info */ - if( proc->arg_num > 1 ) - printit((char*) NULL, proc->args.argname ); + if (proc->arg_num > 1) + printit((char*) NULL, proc->args.argname); else - /* do we have to do something special for newstyle */ - printit( proc->args.decls->decl.prefix, - proc->args.decls->decl.type ); + /* do we have to do something special for newstyle */ + printit(proc->args.decls->decl.prefix, + proc->args.decls->decl.type); /* result info */ printit(proc->res_prefix, proc->res_type); } @@ -143,14 +142,12 @@ write_table(def) } } -static +static void printit(prefix, type) char *prefix; char *type; { - int len; - int tabs; - + int len, tabs; len = fprintf(fout, "\txdr_%s,", stringfix(type)); /* account for leading tab expansion */ @@ -162,7 +159,7 @@ printit(prefix, type) if (streq(type, "void")) { f_print(fout, "0"); } else { - f_print(fout, "sizeof ( "); + f_print(fout, "sizeof ("); /* XXX: should "follow" be 1 ??? */ ptype(prefix, type, 0); f_print(fout, ")"); diff --git a/usr.bin/rpcgen/rpc_util.c b/usr.bin/rpcgen/rpc_util.c index 1f7c73098e3..3b0ddbea456 100644 --- a/usr.bin/rpcgen/rpc_util.c +++ b/usr.bin/rpcgen/rpc_util.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rpc_util.c,v 1.4 2001/07/18 22:26:00 deraadt Exp $ */ +/* $OpenBSD: rpc_util.c,v 1.5 2001/11/24 19:17:47 deraadt Exp $ */ /* $NetBSD: rpc_util.c,v 1.6 1995/08/29 23:05:57 cgd Exp $ */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for @@ -42,6 +42,7 @@ static char sccsid[] = "@(#)rpc_util.c 1.11 89/02/22 (C) 1987 SMI"; #include <stdlib.h> #include <string.h> #include <ctype.h> +#include <unistd.h> #include "rpc_scan.h" #include "rpc_parse.h" #include "rpc_util.h" @@ -68,6 +69,7 @@ list *defined; /* list of defined things */ /* * Reinitialize the world */ +void reinitialize() { memset(curline, 0, MAXLINESIZE); @@ -79,6 +81,7 @@ reinitialize() /* * string equality */ +int streq(a, b) char *a; char *b; @@ -116,7 +119,6 @@ storeval(lstp, val) list **l; list *lst; - for (l = lstp; *l != NULL; l = (list **) & (*l)->next); lst = ALLOC(list); lst->val = val; @@ -124,7 +126,7 @@ storeval(lstp, val) *l = lst; } -static +static int findit(def, type) definition *def; char *type; @@ -193,7 +195,7 @@ ptype(prefix, type, follow) } } -static +static int typedefed(def, type) definition *def; char *type; @@ -205,6 +207,7 @@ typedefed(def, type) } } +int isvectordef(type, rel) char *type; relation rel; @@ -238,7 +241,7 @@ locase(str) static char buf[100]; char *p = buf; - while (c = *str++) { + while ((c = *str++)) { *p++ = (c >= 'A' && c <= 'Z') ? (c - 'A' + 'a') : c; } *p = 0; @@ -278,6 +281,7 @@ error(msg) * Something went wrong, unlink any files that we may have created and then * die. */ +void crash() { int i; @@ -352,7 +356,6 @@ tabify(f, tab) } } - static token tokstrings[] = { {TOK_IDENT, "identifier"}, {TOK_CONST, "const"}, @@ -400,7 +403,7 @@ toktostr(kind) return (sp->str); } -static +static void printbuf() { char c; @@ -409,7 +412,7 @@ printbuf() # define TABSIZE 4 - for (i = 0; c = curline[i]; i++) { + for (i = 0; (c = curline[i]); i++) { if (c == '\t') { cnt = 8 - (i % TABSIZE); c = ' '; @@ -450,7 +453,7 @@ make_argname(pname, vname) char *vname; { char *name; - + name = (char *)malloc(strlen(pname) + strlen(vname) + strlen(ARGEXT) + 3); if (!name) { fprintf(stderr, "failed in malloc"); @@ -493,8 +496,7 @@ find_type(type) { bas_type * ptr; - ptr=typ_list_h; - + ptr = typ_list_h; while (ptr != NULL) { if (strcmp(ptr->name,type) == 0) diff --git a/usr.bin/rpcgen/rpc_util.h b/usr.bin/rpcgen/rpc_util.h index 2dda71c74d1..055018f5175 100644 --- a/usr.bin/rpcgen/rpc_util.h +++ b/usr.bin/rpcgen/rpc_util.h @@ -1,4 +1,4 @@ -/* $OpenBSD: rpc_util.h,v 1.5 2001/07/18 22:26:00 deraadt Exp $ */ +/* $OpenBSD: rpc_util.h,v 1.6 2001/11/24 19:17:47 deraadt Exp $ */ /* $NetBSD: rpc_util.h,v 1.3 1995/06/11 21:50:10 pk Exp $ */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for @@ -104,6 +104,7 @@ definition *findval(); #define FINDVAL(list,item,finder) \ findval(list, item, finder) +void crash __P((void)); char *fixtype __P((char *)); char *stringfix __P((char *)); char *locase __P((char *)); |