Print this page
rpcgen should only produce ANSI code

@@ -18,10 +18,12 @@
  *
  * CDDL HEADER END
  */
 
 /*
+ * Copyright 2014 Garrett D'Amore <garrett@damore.org>
+ *
  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 /* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */
 /* All Rights Reserved */

@@ -42,11 +44,11 @@
 #include <stdlib.h>
 #include <ctype.h>
 #include "rpc_parse.h"
 #include "rpc_util.h"
 
-extern void pprocdef(proc_list *, version_list *, char *, int, int);
+extern void pprocdef(proc_list *, version_list *, char *, int);
 extern void pdeclaration(char *, declaration *, int, char *);
 
 static void storexdrfuncdecl(char *, int);
 static void pconstdef(definition *);
 static void pstructdef(definition *);

@@ -137,15 +139,12 @@
 
 
 }
 
 void
-print_xdr_func_def(char *name, int pointerp, int i)
+print_xdr_func_def(char *name, int pointerp)
 {
-        if (i == 2)
-                f_print(fout, "extern bool_t xdr_%s();\n", name);
-        else
                 f_print(fout, "extern  bool_t xdr_%s(XDR *, %s%s);\n", name,
                     name, pointerp ? "*" : "");
 }
 
 

@@ -260,27 +259,22 @@
         abort();
         /* NOTREACHED */
 }
 
 static void
-pfreeprocdef(char *name, char *vers, int mode)
+pfreeprocdef(char *name, char *vers)
 {
         f_print(fout, "extern int ");
         pvname(name, vers);
-        if (mode == 1)
                 f_print(fout, "_freeresult(SVCXPRT *, xdrproc_t, caddr_t);\n");
-        else
-                f_print(fout, "_freeresult();\n");
 }
 
 static void
 pprogramdef(definition *def)
 {
         version_list *vers;
         proc_list *proc;
-        int i;
-        char *ext;
 
         pargdef(def);
 
         puldefine(def->def_name, def->def.pr.prog_num, PROGRAM);
         for (vers = def->def.pr.versions; vers != NULL; vers = vers->next) {

@@ -292,65 +286,28 @@
                             "extern int %s_%s_nproc;\n",
                             locase(def->def_name), vers->vers_num);
                 }
                 puldefine(vers->vers_name, vers->vers_num, VERSION);
 
-                /*
-                 * Print out 2 definitions, one for ANSI-C, another for
-                 * old K & R C
-                 */
-
-                if (!Cflag) {
-                        ext = "extern  ";
                         for (proc = vers->procs; proc != NULL;
                             proc = proc->next) {
-                                if (!define_printed(proc, def->def.pr.versions))
-                                        puldefine(proc->proc_name,
-                                            proc->proc_num, PROCEDURE);
-                                f_print(fout, "%s", ext);
-                                pprocdef(proc, vers, NULL, 0, 2);
-
-                                if (mtflag) {
-                                        f_print(fout, "%s", ext);
-                                        pprocdef(proc, vers, NULL, 1, 2);
-                                }
-                        }
-                        pfreeprocdef(def->def_name, vers->vers_num, 2);
-                } else {
-                        for (i = 1; i < 3; i++) {
-                                if (i == 1) {
-                                        f_print(fout, "\n#if defined(__STDC__)"
-                                            " || defined(__cplusplus)\n");
-                                        ext = "extern  ";
-                                } else {
-                                        f_print(fout, "\n#else /* K&R C */\n");
-                                        ext = "extern  ";
-                                }
-
-                                for (proc = vers->procs; proc != NULL;
-                                    proc = proc->next) {
                                         if (!define_printed(proc,
                                             def->def.pr.versions)) {
                                                 puldefine(proc->proc_name,
                                                     proc->proc_num, PROCEDURE);
                                         }
-                                        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, "extern  ");
+                        pprocdef(proc, vers, "CLIENT *", 0);
+                        f_print(fout, "extern  ");
+                        pprocdef(proc, vers, "struct svc_req *", 1);
                                 }
-                                pfreeprocdef(def->def_name, vers->vers_num, i);
+                pfreeprocdef(def->def_name, vers->vers_num);
                         }
-                        f_print(fout, "#endif /* K&R C */\n");
-                }
-        }
 }
 
 void
-pprocdef(proc_list *proc, version_list *vp, char *addargtype, int server_p,
-                                                                int mode)
+pprocdef(proc_list *proc, version_list *vp, char *addargtype, int server_p)
 {
         if (mtflag) {
                 /* Print MT style stubs */
                 if (server_p)
                         f_print(fout, "bool_t ");

@@ -363,17 +320,11 @@
         if (server_p)
                 pvname_svc(proc->proc_name, vp->vers_num);
         else
                 pvname(proc->proc_name, vp->vers_num);
 
-        /*
-         *  mode  1 = ANSI-C, mode 2 = K&R C
-         */
-        if (mode == 1)
                 parglist(proc, addargtype);
-        else
-                f_print(fout, "();\n");
 }
 
 /* print out argument list of procedure */
 static void
 parglist(proc_list *proc, char *addargtype)