winefile: switch to UNICODE mode

Martin Fuchs fuchs.martin at
Wed Jun 22 14:47:37 CDT 2005

22 Jun 2005 10:36:22 +0200, Alexandre Julliard <julliard at>:
> Martin Fuchs <fuchs.martin at> writes:
> > Sure, <tchar.h> is not designed to be used "internally" in Wine. But
> > the point is,
> > I would like to maintain Winefile such, that it isn't constraint to
> > being used in Wine
> > only. For example it is currently also present in ReactOS. The idea is to allow
> > compiling it in ANSI mode for that cases, that don't provide or need
> > Unicode.
> There is no such case anymore, Win9x has unicows so you can use
> Unicode there.

Let me change the question: Why should one use Unicode on those
systems at all? They don't support Unicode file systems - so there are
no 16 bit file names to display.

There are two small problems with unicows (not mentioning it's just a
hack in my mind):
First MinGW doesn't support unicows. One has to use VC++ instead.
Second it doesn't work with winefile. I just tried and linked against
unicows.lib. Even after removing the call to SHBindToParent() it
doesn't run on WIN98. Don't ask me why - it just doesn't show any
window or error message. I also don't feel the urge of hinting for the
cause and building some work around.

Oh well - what's all this discussion about?

1.) I want to sync the last few differences of winefile's source code
between ReactOS and Wine. ReactOS is already using the UNICODE
version. (by using TCHAR strings and compiling with -DUNICODE) Wine's
winefile is currently compiled in ANSI mode. Just taking the ReactOS
version for Wine doesn't work because of the special "Unixfs" feature.

2.) I would like to retain the opportunity to compile Winefile in ANSI mode.
For whatever reason.  ;-)

3.) Wine's TCHAR support is not complete. You didn't answer on this fact yet.
This makes the proper implementation of TCHAR usage combined with Unix
calls kind of ugly. So you don't like it.

What are the ways out of this dilemma?
a.) Enable TCHAR support for Winefile in Wine and commit my patch
b.) move completely to UNICODE in both source trees
c.) move to UNICODE, but open a branch/set a tag for an ANSI or TCHAR version
d.) just don't change anything and let Wine use an ANSI winefile
version like all the years ago

I (and one more till now) vote for a.)
You, and some more vote for b.)
d.) doesn't solve the problem of diverging source codes.

So if there are not more votes for a.) I will consider c.).
(not quite sure if to open the branch in ROS SVN or only privately for me)



More information about the wine-devel mailing list