[PATCH 1/6] Workaround conflict between Solaris <sys/list.h> & Xorg "list.h" definitions

Jeremy Huddleston jeremyhu at apple.com
Sat Oct 29 10:51:25 PDT 2011


What about namespacing the ones in xserver instead?  I'm sure it's possible they could conflict with other platforms as well.

On Oct 29, 2011, at 10:24, Alan Coopersmith wrote:

> On 10/29/11 00:16, Jeremy Huddleston wrote:
>> Yuck.  Is there really no other way to do that?  What exactly are the conflicts?
> 
> It was the best one I saw.
> 
> The Solaris definition:
> 
> struct list_node {
>        struct list_node *list_next;
>        struct list_node *list_prev;
> };
> 
> struct list {
>        size_t  list_size;
>        size_t  list_offset;
>        struct list_node list_head;
> };
> 
> The Xorg definition:
> 
> struct list {
>    struct list *next, *prev;
> };
> 
> And then there's a couple overlapping function names with
> conflicting argument types since the Solaris ones take list_nodes
> for the individual list entries instead of struct list themselves:
> 
> Solaris:
> int list_is_empty(list_t *);
> 
> Xorg:
> static inline Bool list_is_empty(struct list *head);
> 
> 
> -- 
> 	-Alan Coopersmith-        alan.coopersmith at oracle.com
> 	 Oracle Solaris Platform Engineering: X Window System
> 



More information about the xorg-devel mailing list