Name space clash: gdi.h and ncurses both use DC...

Jukka A. Ukkonen jau at iki.fi
Sun Sep 29 14:36:28 CDT 2002


	Here are a couple of name space problems, which I would
	give at least a P4 priority. - They are straight forward
	to fix, but absolutely painful, if left as they are.

1)	There is a very nasty name space clash in wine (CVS, today,
	2002-09-29).
	Both gdi.h and ncurses use the name DC, but obviously for two
	different purposes.
	This might not happen with all versions of ncurses, but at
	least on one of my FreeBSD boxes it happens. OTOH there is no
	guarantee that on some systems the files named ncurses.* are
	not simply symlinks to some other implementation of curses.

	So, using any of the short names used by (n)curses for any
	other purposes is a very bad habit in general, and one which
	should be avoided at all cost in programs which also use any
	version of curses.
	The curses' unlucky naming policy has been the curse upon us
	all for ages already. It would be all too hard to change any
	of that now. It is far better to simply try to do better in
	one's own selection of names.

	I propose changing the DC (Display Context ?) to something
	more verbose. If it is strictly windows related, might WinDC
	or Win_DC do just fine?

2)	Apparently wine also defines the name IN to empty somewhere
	in the header files. This raises a syntax error in curses.h,
	because a symbol in a list gets deleted leaving only a comma.
	So, the compiler finds something like

extern char     AM, BS, CA, DA, EO, HC,  , MI, MS, NC, NS, OS,
                PC, UL, XB, XN, XT, XS, XX;

	Obvious enough, the compiler complains. The same logic as
	above still applies. Hands off the short names, which could
	collide with curses.

	I hope this helps.


	Cheers,
		// jau
.---  ..-  -.-  -.-  .-    .-  .-.-.-    ..-  -.-  -.-  ---  -.  .  -.
  /    Jukka A. Ukkonen,                            Mawit Ltd, Finland
 /__   M.Sc. (sw-eng & cs)                    (Phone) +358-500-606-671
   /   Internet: Jukka.Ukkonen(a)Mawit.Com      (Home) +358-9-6215-280
  /    Internet: ukkonen(a)nic.funet.fi
 v     Internet: jau(a)iki.fi               

+ + + + My opinions are mine and mine alone, not my employers. + + + +



More information about the wine-bugs mailing list