[PATCH lib/libX11] Don't use caddr_t casts

Alan Coopersmith alan.coopersmith at oracle.com
Sun Mar 11 19:43:53 PDT 2012

On 03/11/12 10:54 AM, Jon TURNEY wrote:
> On 09/03/2012 04:45, Alan Coopersmith wrote:
>> On 02/19/12 06:31 AM, Jon TURNEY wrote:
>>> On 18/02/2012 19:11, Jamey Sharp wrote:
>>>> On Sat, Feb 18, 2012 at 05:21:24PM +0000, Jon TURNEY wrote:
>>>>> Casting a (const char *) to (caddr_t) to assign to iovec.io_base
>>>>> seems pointless. caddr_t isn't used anywhere else in xcb or libX11
>>>> According to the libxcb git history, I replaced (caddr_t) with (char *)
>>>> in 2006 to "help DragonFly and Solaris". I'd be fine with this patch if
>>>> it explicitly cast to (char *), which I believe suppresses the constness
>>>> warning.
>> BTW, Solaris 11 now uses (void *), but Solaris 10&  older used caddr_t there,
>> which is why you needed it back then.
> This sounds a bit odd to me, that cast would only be needed if caddr_t was
> defined as something which was incompatible with having a char * assigned to it?

caddr_t is typedef'ed to char * on Solaris - the explanation is why char * was 
needed instead of the void * preferred for iovec members on modern OS'es.

	-Alan Coopersmith-              alan.coopersmith at oracle.com
	 Oracle Solaris Engineering - http://blogs.oracle.com/alanc

More information about the xorg-devel mailing list