]> git.decadent.org.uk Git - nfs-utils.git/blobdiff - tools/rpcgen/rpc_parse.c
Replace the Sun RPC license with the BSD license,
[nfs-utils.git] / tools / rpcgen / rpc_parse.c
index 1e5b80a2c783f26e8694b59065ab490ce15c674a..b53a55332f80bca1001d7a8ab193f4290a7253e8 100644 (file)
@@ -1,34 +1,32 @@
 /*
- * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
- * unrestricted use provided that this legend is included on all tape
- * media and as a part of the software program in whole or part.  Users
- * may copy or modify Sun RPC without charge, but are not authorized
- * to license or distribute it to anyone else except as part of a product or
- * program developed by the user or with the express written consent of
- * Sun Microsystems, Inc.
+ * Copyright (c) 2009, Sun Microsystems, Inc.
+ * All rights reserved.
  *
- * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
- * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * - Redistributions of source code must retain the above copyright notice,
+ *   this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright notice,
+ *   this list of conditions and the following disclaimer in the documentation
+ *   and/or other materials provided with the distribution.
+ * - Neither the name of Sun Microsystems, Inc. nor the names of its
+ *   contributors may be used to endorse or promote products derived
+ *   from this software without specific prior written permission.
  *
- * Sun RPC is provided with no support and without any obligation on the
- * part of Sun Microsystems, Inc. to assist in its use, correction,
- * modification or enhancement.
- *
- * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
- * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
- * OR ANY PART THEREOF.
- *
- * In no event will Sun Microsystems, Inc. be liable for any lost revenue
- * or profits or other special, indirect and consequential damages, even if
- * Sun has been advised of the possibility of such damages.
- *
- * Sun Microsystems, Inc.
- * 2550 Garcia Avenue
- * Mountain View, California  94043
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef lint
+#if 0
 static char sccsid[] = "@(#)rpc_parse.c 1.8 89/02/22 (C) 1987 SMI";
 #endif
 
@@ -94,6 +92,7 @@ get_definition(void)
                def_const(defp);
                break;
        case TOK_EOF:
+               free(defp);
                return (NULL);
        default:
                error("definition keyword expected");
@@ -288,9 +287,8 @@ def_union(definition *defp)
 {
   token tok;
   declaration dec;
-  case_list *cases,*tcase;
+  case_list *cases;
   case_list **tailp;
-  int flag;
 
   defp->def_kind = DEF_UNION;
   scan(TOK_IDENT, &tok);
@@ -309,7 +307,6 @@ def_union(definition *defp)
     cases->case_name = tok.str;
     scan(TOK_COLON, &tok);
     /* now peek at next token */
-    flag=0;
     if(peekscan(TOK_CASE,&tok))
       {
 
@@ -325,14 +322,6 @@ def_union(definition *defp)
       
          }while(peekscan(TOK_CASE,&tok));
       }
-    else
-      if(flag)
-       {
-
-         *tailp = cases;
-         tailp = &cases->next;
-         cases = ALLOC(case_list);
-       };
 
     get_declaration(&dec, DEF_UNION);
     cases->case_decl = dec;
@@ -564,8 +553,8 @@ get_type(char **prefixp, char **typep, defkind dkind)
                *typep = "short";
                (void) peekscan(TOK_INT, &tok);
                break;
-       case TOK_LONG:
-               *typep = "long";
+       case TOK_INT32:
+               *typep = "int32_t";
                (void) peekscan(TOK_INT, &tok);
                break;
        case TOK_VOID:
@@ -604,9 +593,9 @@ unsigned_dec(char **typep)
                *typep = "u_short";
                (void) peekscan(TOK_INT, &tok);
                break;
-       case TOK_LONG:
+       case TOK_INT32:
                get_token(&tok);
-               *typep = "u_long";
+               *typep = "u_int32_";
                (void) peekscan(TOK_INT, &tok);
                break;
        case TOK_INT: