about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog13
-rw-r--r--include/rpc/rpc.h22
-rw-r--r--sunrpc/clnt_perr.c2
-rw-r--r--sunrpc/clnt_raw.c2
-rw-r--r--sunrpc/clnt_simp.c2
-rw-r--r--sunrpc/key_call.c2
-rw-r--r--sunrpc/svc.c4
-rw-r--r--sunrpc/svc_raw.c2
-rw-r--r--sunrpc/svc_simple.c4
-rw-r--r--sunrpc/svcauth_des.c4
10 files changed, 35 insertions, 22 deletions
diff --git a/ChangeLog b/ChangeLog
index 25309fc375..9a7782a61a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2004-02-09  Andreas Schwab  <schwab@suse.de>
+
+	* include/rpc/rpc.h: Declare thread variables with their correct
+	type.
+	* sunrpc/clnt_perr.c: Don't cast thread variables.
+	* sunrpc/clnt_raw.c: Likewise.
+	* sunrpc/clnt_simp.c: Likewise.
+	* sunrpc/key_call.c: Likewise.
+	* sunrpc/svcauth_des.c: Likewise.
+	* sunrpc/svc.c: Likewise.
+	* sunrpc/svc_raw.c: Likewise.
+	* sunrpc/svc_simple.c: Likewise.
+
 2004-02-09  Ulrich Drepper  <drepper@redhat.com>
 
 	* stdio-common/_i18n_number.h: Support printing localized decimal
diff --git a/include/rpc/rpc.h b/include/rpc/rpc.h
index 392a55db55..e5b1685f54 100644
--- a/include/rpc/rpc.h
+++ b/include/rpc/rpc.h
@@ -17,24 +17,24 @@ struct rpc_thread_variables {
 	struct pollfd	*svc_pollfd_s;		/* Global, rpc_common.c */
 	int		svc_max_pollfd_s;	/* Global, rpc_common.c */
 
-	void		*clnt_perr_buf_s;	/* clnt_perr.c */
+	char		*clnt_perr_buf_s;	/* clnt_perr.c */
 
-	void		*clntraw_private_s;	/* clnt_raw.c */
+	struct clntraw_private_s *clntraw_private_s;	/* clnt_raw.c */
 
-	void		*callrpc_private_s;	/* clnt_simp.c */
+	struct callrpc_private_s *callrpc_private_s;	/* clnt_simp.c */
 
-	void		*key_call_private_s;	/* key_call.c */
+	struct key_call_private *key_call_private_s;	/* key_call.c */
 
-	void		*authdes_cache_s;	/* svcauth_des.c */
-	void		*authdes_lru_s;		/* svcauth_des.c */
+	struct cache_entry *authdes_cache_s;	/* svcauth_des.c */
+	int		*authdes_lru_s;		/* svcauth_des.c */
 
-	void		*svc_xports_s;		/* svc.c */
-	void		*svc_head_s;		/* svc.c */
+	SVCXPRT		**svc_xports_s;		/* svc.c */
+	struct svc_callout *svc_head_s;		/* svc.c */
 
-	void		*svcraw_private_s;	/* svc_raw.c */
+	struct svcraw_private_s *svcraw_private_s;	/* svc_raw.c */
 
-	void		*svcsimple_proglst_s;	/* svc_simple.c */
-	void		*svcsimple_transp_s;	/* svc_simple.c */
+	struct proglst_ *svcsimple_proglst_s;	/* svc_simple.c */
+	SVCXPRT		*svcsimple_transp_s;	/* svc_simple.c */
 };
 
 extern struct rpc_thread_variables *__rpc_thread_variables(void)
diff --git a/sunrpc/clnt_perr.c b/sunrpc/clnt_perr.c
index 4b34289a88..4fa5e62c0f 100644
--- a/sunrpc/clnt_perr.c
+++ b/sunrpc/clnt_perr.c
@@ -55,7 +55,7 @@ static char *auth_errmsg (enum auth_stat stat) internal_function;
  * buf variable in a few functions.  Overriding a global variable
  * with a local variable of the same name is a bad idea, anyway.
  */
-#define buf ((char *)RPC_THREAD_VARIABLE(clnt_perr_buf_s))
+#define buf RPC_THREAD_VARIABLE(clnt_perr_buf_s)
 #else
 static char *buf;
 #endif
diff --git a/sunrpc/clnt_raw.c b/sunrpc/clnt_raw.c
index 082a76abeb..e8613422a5 100644
--- a/sunrpc/clnt_raw.c
+++ b/sunrpc/clnt_raw.c
@@ -61,7 +61,7 @@ struct clntraw_private_s
     u_int mcnt;
   };
 #ifdef _RPC_THREAD_SAFE_
-#define clntraw_private ((struct clntraw_private_s *)RPC_THREAD_VARIABLE(clntraw_private_s))
+#define clntraw_private RPC_THREAD_VARIABLE(clntraw_private_s)
 #else
 static struct clntraw_private_s *clntraw_private;
 #endif
diff --git a/sunrpc/clnt_simp.c b/sunrpc/clnt_simp.c
index 373eeed1a6..631ec8afbc 100644
--- a/sunrpc/clnt_simp.c
+++ b/sunrpc/clnt_simp.c
@@ -55,7 +55,7 @@ struct callrpc_private_s
     char *oldhost;
   };
 #ifdef _RPC_THREAD_SAFE_
-#define callrpc_private ((struct callrpc_private_s *)RPC_THREAD_VARIABLE(callrpc_private_s))
+#define callrpc_private RPC_THREAD_VARIABLE(callrpc_private_s)
 #else
 static struct callrpc_private_s *callrpc_private;
 #endif
diff --git a/sunrpc/key_call.c b/sunrpc/key_call.c
index 0b09a5a66e..211f61db70 100644
--- a/sunrpc/key_call.c
+++ b/sunrpc/key_call.c
@@ -370,7 +370,7 @@ struct  key_call_private {
   uid_t   uid;            /* user-id at last authorization */
 };
 #ifdef _RPC_THREAD_SAFE_
-#define key_call_private_main ((struct  key_call_private *)RPC_THREAD_VARIABLE(key_call_private_s))
+#define key_call_private_main RPC_THREAD_VARIABLE(key_call_private_s)
 #else
 static struct key_call_private *key_call_private_main;
 #endif
diff --git a/sunrpc/svc.c b/sunrpc/svc.c
index fe27c3c861..6caf8412d5 100644
--- a/sunrpc/svc.c
+++ b/sunrpc/svc.c
@@ -44,7 +44,7 @@
 #include <sys/poll.h>
 
 #ifdef _RPC_THREAD_SAFE_
-#define xports ((SVCXPRT **)RPC_THREAD_VARIABLE(svc_xports_s))
+#define xports RPC_THREAD_VARIABLE(svc_xports_s)
 #else
 static SVCXPRT **xports;
 #endif
@@ -63,7 +63,7 @@ struct svc_callout {
   void (*sc_dispatch) (struct svc_req *, SVCXPRT *);
 };
 #ifdef _RPC_THREAD_SAFE_
-#define svc_head ((struct svc_callout *)RPC_THREAD_VARIABLE(svc_head_s))
+#define svc_head RPC_THREAD_VARIABLE(svc_head_s)
 #else
 static struct svc_callout *svc_head;
 #endif
diff --git a/sunrpc/svc_raw.c b/sunrpc/svc_raw.c
index d9b1748815..37a027d412 100644
--- a/sunrpc/svc_raw.c
+++ b/sunrpc/svc_raw.c
@@ -54,7 +54,7 @@ struct svcraw_private_s
     char verf_body[MAX_AUTH_BYTES];
   };
 #ifdef _RPC_THREAD_SAFE_
-#define svcraw_private ((struct svcraw_private_s *)RPC_THREAD_VARIABLE(svcraw_private_s))
+#define svcraw_private RPC_THREAD_VARIABLE(svcraw_private_s)
 #else
 static struct svcraw_private_s *svcraw_private;
 #endif
diff --git a/sunrpc/svc_simple.c b/sunrpc/svc_simple.c
index b30e4cff4d..57bedba163 100644
--- a/sunrpc/svc_simple.c
+++ b/sunrpc/svc_simple.c
@@ -61,7 +61,7 @@ struct proglst_
     struct proglst_ *p_nxt;
   };
 #ifdef _RPC_THREAD_SAFE_
-#define proglst ((struct proglst_ *)RPC_THREAD_VARIABLE(svcsimple_proglst_s))
+#define proglst RPC_THREAD_VARIABLE(svcsimple_proglst_s)
 #else
 static struct proglst_ *proglst;
 #endif
@@ -69,7 +69,7 @@ static struct proglst_ *proglst;
 
 static void universal (struct svc_req *rqstp, SVCXPRT *transp_s);
 #ifdef _RPC_THREAD_SAFE_
-#define transp ((SVCXPRT *)RPC_THREAD_VARIABLE(svcsimple_transp_s))
+#define transp RPC_THREAD_VARIABLE(svcsimple_transp_s)
 #else
 static SVCXPRT *transp;
 #endif
diff --git a/sunrpc/svcauth_des.c b/sunrpc/svcauth_des.c
index 6a550af8e9..d808e95f05 100644
--- a/sunrpc/svcauth_des.c
+++ b/sunrpc/svcauth_des.c
@@ -72,8 +72,8 @@ struct cache_entry
     char *localcred;		/* generic local credential */
   };
 #ifdef _RPC_THREAD_SAFE_
-#define authdes_cache ((struct cache_entry *)RPC_THREAD_VARIABLE(authdes_cache_s))
-#define authdes_lru ((int *)RPC_THREAD_VARIABLE(authdes_lru_s))
+#define authdes_cache RPC_THREAD_VARIABLE(authdes_cache_s)
+#define authdes_lru RPC_THREAD_VARIABLE(authdes_lru_s)
 #else
 static struct cache_entry *authdes_cache;
 static int *authdes_lru;