On Tue, 20 Nov 2001, John Alvord wrote: [...]
If FreeBSD polutes name space with struct user, then surely wine also polutes name space also... albeit with less impact.
Wine does not pollute the namespace because the 'struct thread' is not public. It is an internal structure defined in an internal header.
I usually favor the defensive approach which distrusts outside headers and tries to avoid using structure names that are likely to conflict. But we dodged the bullet for this time so I think it's best to wait till the next to decide what to do. The worst that can happen is a big rename which is easy enough to do anyway.
The only way Wine can pollute the namespace is with regard to Winelib applications. So that's if Wine symbols are defined in a Windows header and not protected by an '#ifdef __WINE__'. For instance defining GETBASEIRQ in 'include/winbase.h' is namespace pollution. Using 'USE_MSVCRT_PREFIX' in the msvcrt headers is namespace pollution too though it is of a much more limited and necessary/useful nature. Note that this also depends which version of the Windows headers you take as a reference.
-- Francois Gouget fgouget@free.fr http://fgouget.free.fr/ RFC 2549: ftp://ftp.isi.edu/in-notes/rfc2549.txt IP over Avian Carriers with Quality of Service