Deal with a /usr/include/netdb.h that contains struct rpcent
authorSam Hartman <hartmans@mit.edu>
Tue, 30 Jul 1996 22:47:08 +0000 (22:47 +0000)
committerSam Hartman <hartmans@mit.edu>
Tue, 30 Jul 1996 22:47:08 +0000 (22:47 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@8864 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/rpc/ChangeLog
src/lib/rpc/configure.in
src/lib/rpc/netdb.h
src/lib/rpc/types.hin

index 942a4bfe23f9dc54ecd3c21fc3b5cd351b6f24ec..d128f38e2efb7dd0b49a708271d5ba2246be9454 100644 (file)
@@ -1,3 +1,13 @@
+Mon Jul 29 22:02:47 1996  Sam Hartman  <hartmans@tertius.mit.edu>
+
+       * configure.in: Determine whether netdb.h defines struct rpcent.
+
+       * types.hin: Expand rpcent_define to be a null string or a #define
+        on Linux.
+
+       * netdb.h: Include rpc/types.h and only define struct rpcent if
+        needed.
+
 Wed Jul 24 07:58:38 1996  Ezra Peisach  <epeisach@kangaroo.mit.edu>
 
        * pmap_rmt.c (clnt_broadcast): Use memset insetad of bzero.
index 6084638d3d7994bc652c1fef212016b39caa8b75..e5ef77b1f7d90df4e9cee2f5ee22f75583496556 100644 (file)
@@ -4,7 +4,15 @@ AC_PROG_ARCHIVE
 AC_PROG_ARCHIVE_ADD
 AC_PROG_RANLIB
 AC_PROG_INSTALL
-
+AC_TRY_COMPILE([
+#include <netdb.h>
+       ],[
+       struct rpcent e;
+       char c = e.r_name[0];
+       int i = e.r_number;
+       ], [rpcent_define='#define STRUCT_RPCENT_ALREADY_PROVIDED'],
+       [rpcent_define='']) dnl
+AC_SUBST(rpcent_define)
 AC_CHECK_SIZEOF(int)
 SIZEOF_INT=$ac_cv_sizeof_int
 AC_SUBST(SIZEOF_INT)
index f6b6374b55905a5f50005fc56918b576969b5de4..628efc2de4b793a727a800b5ad7333c0013ab1e0 100644 (file)
  * Mountain View, California  94043
  */
 /*     @(#)rpc.h 1.8 87/07/24 SMI      */
-
+#include <rpc/types.h>
 /* since the gssrpc library requires that any application using it be
 built with these header files, I am making the decision that any app
 which uses the rpcent routines must use this header file, or something
 compatible (which most <netdb.h> are) --marc */
 
 /* Really belongs in <netdb.h> */
-
+#ifndef STRUCT_RPCENT_ALREADY_PROVIDED
 struct rpcent {
       char    *r_name;        /* name of server for this rpc program */
       char    **r_aliases;    /* alias list */
       int     r_number;       /* rpc program number */
 };
-
+#endif /*STRUCT_RPCENT_ALREADY_PROVIDED*/
 struct rpcent *getrpcbyname(), *getrpcbynumber(), *getrpcent();
 
 #endif
index 619a9ce2048384d7464e1549e8baa0c37a2a3548..e9590419842c4203cf8d3930bbbe171e64682925 100644 (file)
@@ -36,7 +36,8 @@
 #define __TYPES_RPC_HEADER__
 
 #include <sys/types.h>
-
+/* This is for rpc/netdb.h */
+@rpcent_define@
 /* this is a 32-bit int type */
 
 #if @SIZEOF_INT@ == 4
@@ -88,3 +89,4 @@ typedef unsigned long rpc_u_int32;
 #endif
 
 #endif /* ndef __TYPES_RPC_HEADER__ */
+