Patches for FreeBSD 5.x compilation

Francois Gouget fgouget at
Tue Nov 20 11:11:34 CST 2001

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 at
               RFC 2549:
                IP over Avian Carriers with Quality of Service

More information about the wine-devel mailing list