(authdes_getucred): Removed fixed limit on number of groups in the
[kopensolaris-gnu/glibc.git] / sunrpc / rpc_main.c
index e020ef0..656f8ae 100644 (file)
@@ -80,14 +80,14 @@ static const char *cmdname;
 #define SUNOS_CPP "/lib/cpp"
 
 static const char *svcclosetime = "120";
-static int cppDefined = 0;     /* explicit path for C preprocessor */
+static int cppDefined; /* explicit path for C preprocessor */
 static const char *CPP = SUNOS_CPP;
-static char CPPFLAGS[] = "-C";
+static const char CPPFLAGS[] = "-C";
 static char *pathbuf;
 static int cpp_pid;
 static const char *allv[] =
 {
-  "rpcgen", "-s", "udp", "-s", "tcp", "-s", "udp6", "-s", "tcp6"
+  "rpcgen", "-s", "udp", "-s", "tcp"
 };
 static int allc = sizeof (allv) / sizeof (allv[0]);
 static const char *allnv[] =
@@ -134,8 +134,8 @@ 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);
-static void options_usage (void);
+static void usage (void) __attribute__ ((noreturn));
+static void options_usage (void) __attribute__ ((noreturn));
 static void c_initialize (void);
 static char *generate_guard (const char *pathname);
 
@@ -167,17 +167,17 @@ int newstyle;                     /* newstyle of passing arguments (by value) */
 #ifdef __GNU_LIBRARY__
 int Cflag = 1;                 /* ANSI C syntax */
 #else
-int Cflag = 0;                 /* ANSI C/C++ syntax */
+int Cflag;                     /* ANSI C/C++ syntax */
 #endif
-int CCflag = 0;                        /* C++ files */
+int CCflag;                    /* C++ files */
 static int allfiles;           /* generate all files */
 #ifdef __GNU_LIBRARY__
-int tirpcflag = 0;             /* generating code for tirpc, by default */
+int tirpcflag;                 /* generating code for tirpc, by default */
 #else
 int tirpcflag = 1;             /* generating code for tirpc, by default */
 #endif
-xdrfunc *xdrfunc_head = NULL;  /* xdr function list */
-xdrfunc *xdrfunc_tail = NULL;  /* xdr function list */
+xdrfunc *xdrfunc_head;         /* xdr function list */
+xdrfunc *xdrfunc_tail;         /* xdr function list */
 
 int
 main (int argc, const char *argv[])
@@ -247,8 +247,8 @@ main (int argc, const char *argv[])
          mkfile_output (&cmd);
        }
     }
-  exit (nonfatalerrors);
-  /* NOTREACHED */
+
+  return nonfatalerrors;
 }
 
 /*
@@ -437,8 +437,6 @@ static const char *valid_ti_nettypes[] =
   "udp",
   "tcp",
   "raw",
-  "udp6",
-  "tcp6",
   NULL
 };
 
@@ -447,8 +445,6 @@ static const char *valid_i_nettypes[] =
 {
   "udp",
   "tcp",
-  "udp6",
-  "tcp6",
   NULL
 };
 
@@ -1306,9 +1302,7 @@ parseargs (int argc, const char *argv[], struct commandline *cmd)
                  if (c == 's')
                    {
                      if (!streq (argv[i], "udp") &&
-                         !streq (argv[i], "tcp") &&
-                         !streq (argv[i], "udp6") &&
-                         !streq (argv[i], "tcp6"))
+                         !streq (argv[i], "tcp"))
                        return 0;
                    }
                  else if (c == 'o')
@@ -1362,6 +1356,15 @@ parseargs (int argc, const char *argv[], struct commandline *cmd)
   cmd->Scflag = flag['C'];
   cmd->makefileflag = flag['M'];
 
+#ifndef _RPC_THREAD_SAFE_
+  if (mtflag || newstyle)
+    {
+      /* glibc doesn't support these flags.  */
+      f_print (stderr,
+              _("This implementation doesn't support newstyle or MT-safe code!\n"));
+      return (0);
+    }
+#endif
   if (tirpcflag)
     {
       pmflag = inetdflag ? 0 : 1;    /* pmflag or inetdflag is always TRUE */