From 27db0450952b356c7aa98296f5b03317d8c15a70 Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Tue, 7 Oct 2008 18:28:24 +0000 Subject: fix compiler warning: dereferencing type-punned pointer will break strict-aliasing rules --- lib/getinfo.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib/getinfo.c') diff --git a/lib/getinfo.c b/lib/getinfo.c index 6f8ebb87e..c8841637e 100644 --- a/lib/getinfo.c +++ b/lib/getinfo.c @@ -78,6 +78,11 @@ CURLcode Curl_getinfo(struct SessionHandle *data, CURLINFO info, ...) struct curl_slist **param_slistp=NULL; int type; + union { + struct curl_certinfo * to_certinfo; + struct curl_slist * to_slist; + } ptr; + if(!data) return CURLE_BAD_FUNCTION_ARGUMENT; @@ -220,7 +225,8 @@ CURLcode Curl_getinfo(struct SessionHandle *data, CURLINFO info, ...) case CURLINFO_CERTINFO: /* Return the a pointer to the certinfo struct. Not really an slist pointer but we can pretend it is here */ - *param_slistp = (struct curl_slist *)&data->info.certs; + ptr.to_certinfo = &data->info.certs; + *param_slistp = ptr.to_slist; break; default: return CURLE_BAD_FUNCTION_ARGUMENT; -- cgit v1.2.3