- fix wrong hexadecimal GetLastError() output

- misc fixes
- changed my email address
oldstable
Andreas Mohr 2001-11-19 02:30:01 +00:00 committed by Alexandre Julliard
parent 49c779a862
commit 9cef2d0b1d
18 changed files with 200 additions and 122 deletions

View File

@ -94,7 +94,7 @@ if the buffer is already locked, so you can call it whenever you feel it
At the end of EditWndProc(), EDIT_ReleasePointer() is automatically called
which cleans up the initialized pointer. So you don't have to worry about
unlocking the memory block. This way, the buffer gets locked / unlock only
unlocking the memory block. This way, the buffer gets locked / unlocked only
once every message, although EDIT_GetPointer() may actually have been called
a hundred times. Only when the actual HLOCAL is needed (for example to
ReAlloc), an extra call (besides the cleanup at the end of EditWndProc()) to
@ -192,12 +192,7 @@ poorly documented. Somebody that knows ?
D) Known bugs / Features
- The control still calls GetTabbedTextExtent() and TabbedTextOut() in
their 16 bit version (since the 32 bit versions don't yet exist).
Therefore the tab list is 16 bits (should be 32).
- Scrollbar tracking is broken.
- Lots of API calls are to 16 bit functions, because their 32 bit
versions haven't been implemented yet (e.g. clipboard).
- Turning on WordWrap with 16-bit Notepad leaves part of the horizontal
scrollbar visible (problem with WM_ERASEBKGND ???).
- FIXME's (grep for them).

View File

@ -221,7 +221,7 @@ BOOL DPLAYX_ConstructData(void)
}
else
{
ERR( ": semaphore error 0x%08lx\n", GetLastError() );
ERR( ": semaphore error %ld\n", GetLastError() );
return FALSE;
}
@ -246,7 +246,7 @@ BOOL DPLAYX_ConstructData(void)
}
else
{
ERR( ": unable to create shared memory 0x%08lx\n", GetLastError() );
ERR( ": unable to create shared memory (%ld)\n", GetLastError() );
return FALSE;
}
@ -256,7 +256,7 @@ BOOL DPLAYX_ConstructData(void)
if( lpSharedStaticData == NULL )
{
ERR( ": unable to map static data into process memory space: 0x%08lx\n",
ERR( ": unable to map static data into process memory space (%ld)\n",
GetLastError() );
return FALSE;
}

View File

@ -1454,7 +1454,7 @@ HRESULT WINAPI CoCreateInstance(
(LPVOID)&lpclf);
if (FAILED(hres)) {
FIXME("no classfactory created for %s, hres is 0x%08lx\n",
FIXME("no classfactory created for CLSID %s, hres is 0x%08lx\n",
debugstr_guid(rclsid),hres);
return hres;
}

View File

@ -1942,7 +1942,7 @@ int TLB_ReadTypeLib(LPCWSTR pszFileName, INT index, ITypeLib2 **ppTypeLib)
if(*ppTypeLib)
ret = S_OK;
else
ERR("Loading of typelib %s failed with error 0x%08lx\n",
ERR("Loading of typelib %s failed with error %ld\n",
debugstr_w(pszFileName), GetLastError());
return ret;

View File

@ -5,7 +5,7 @@ STYLE WS_POPUP | WS_CAPTION | WS_CLIPSIBLINGS | WS_VISIBLE
CAPTION "Papier"
FONT 8, "Helv"
{
LTEXT "Papier &Größe:", -1, 10, 6, 100, 8
LTEXT "&Papiergröße:", -1, 10, 6, 100, 8
LISTBOX IDD_PAPERS, 10, 15, 200, 45, LBS_STANDARD | LBS_HASSTRINGS |
WS_TABSTOP
GROUPBOX "Ausrichtung", -1, 10, 80, 200, 50

View File

@ -63,7 +63,7 @@ void X11DRV_XF86DGA2_Init(void)
/* test that it works */
if (!TSXDGAOpenFramebuffer(gdi_display, DefaultScreen(gdi_display))) {
TRACE("disabling XF86DGA2 (insufficient permissions?)\n");
WARN("disabling XF86DGA2 (insufficient permissions?)\n");
return;
}
TSXDGACloseFramebuffer(gdi_display, DefaultScreen(gdi_display));
@ -84,7 +84,7 @@ void X11DRV_XF86DGA2_Init(void)
for (i=0; i<nmodes; i++)
convert_mode(&modes[i], &xf86dga2_modes[i+1]);
TRACE("Enabling DGA\n");
TRACE("Enabling XF86DGA2 mode\n");
}
void X11DRV_XF86DGA2_Cleanup(void)

View File

@ -8,6 +8,7 @@
<para>
Written by &name-marcus-meissner; <email>&email-marcus-meissner;</email>
Updated by &name-jeremy-white; <email>&email-jeremy-white;</email>
Updated by &name-andreas-mohr; <email>&email-andreas-mohr;</email>
</para>
</sect1>
@ -18,9 +19,15 @@
The information contained in this document is extremely
time sensitive. <emphasis>It is vital that a packager
stay current with changes in Wine. </>
Changes to this document could be tracked e.g. by viewing its CVS log.
Due to Wine's fast development, a recent revision date
does not necessarily indicate that this document is 100% on par
with what Wine's full installation requirements are
(especially whenever lazy developers don't properly update the
documentation to include info about new features they implemented).
</para>
<para>
This document was last revised on November 2, 2000.</para>
This document was last revised on November 14, 2001.</para>
</sect1>
@ -34,7 +41,7 @@
<orderedlist>
<listitem id=WINECONFDIR><para id=wineconfdir.id><EnVar>WINECONFDIR</EnVar></para>
<para>
<envar>WINECONFDIR</envar> is the users Wine configuration directory.
<envar>WINECONFDIR</envar> is the user's Wine configuration directory.
This is almost always ~/.wine, but can be overridden
by the user by setting the <EnVar>WINECONFDIR</EnVar> environment
variable.
@ -73,7 +80,7 @@
</para>
<para>
This directory is specified by the user, in
the users <link linkend=winerc>configuration file</link>.
the user's <link linkend=winerc>configuration file</link>.
</para>
<para>
Generally speaking, this directory is either set
@ -118,7 +125,7 @@
<sect1 id="pkg-goals"> <title>Goals</title>
<para>
An installation from a Wine pacakage should:
An installation from a Wine package should:
</para>
<itemizedlist>
@ -128,7 +135,7 @@
</para>
<para>
The initial installation should require no user
input. An rpm -i wine.rpm or apt get wine
input. An rpm -i wine.rpm or apt-get install wine
should suffice for initial installation.
</para>
</listitem>
@ -199,7 +206,7 @@
Successfully installing Wine requires:
</para>
<itemizedlist>
<itemizedlist>
<listitem>
<para>Much thought and work from the packager (1x)</para>
</listitem>
@ -208,11 +215,11 @@
A configuration file
</para>
<para>
Wine will not run with out a configuration file. Further,
Wine will not run without a configuration file. Further,
no default is currently provided by Wine. Some packagers may attempt
to provide (or dynamically generate) a default configuration
file. Some packagers may wish to
rely on winecfg to generate the configuration file.
rely on winesetup to generate the configuration file.
</para>
</listitem>
@ -220,13 +227,12 @@
<listitem>
<para>
A writeable <filename>C:\</filename> directory
structure on a per user basis. Applications do dump
structure on a per-user basis. Applications do dump
<filename>.ini</filename> files into
<filename>c:\windows</filename>, installers dump
<filename>.exe</filename>, <filename>.dll</filename>
and more into <filename>c:\windows\</filename> and
subdirectories or into <filename>C:\Program
Files\</filename>.
and more into <filename>c:\windows</filename> and
subdirectories or into <filename>C:\Program Files</filename>.
</para>
</listitem>
@ -244,7 +250,7 @@
There are several other choices that could be made;
registries can be imported from a Windows partition.
At this time, Wine does not completely support
a complex multi user installation, ala Windows NT,
a complex multi-user installation ala Windows NT,
but it could fairly readily.
</para>
</listitem>
@ -277,9 +283,9 @@
<sect1 id="pkg-static"><title>Wine Static and Shareable Files</title>
<para>
At the time of this writing, the following components
At the time of this writing, almost all of the following components
are installed through a standard 'make install'
of Wine.
of Wine. Exceptions from the rule are noted.
<caution>
<para>
@ -316,6 +322,20 @@
</listitem>
</varlistentry>
<varlistentry><term><filename>winebootup</filename></term>
<listitem>
<para>
Winelib app to be found in programs/.
It'll be called by the winelauncher wine wrapper startup
script for every first-time wine invocation.
Its purpose is to process all Windows startup autorun
mechanisms, such as wininit.ini, win.ini Load=/Run=,
registry keys: RenameFiles/Run/RunOnce*/RunServices*,
Startup folders.
</para>
</listitem>
</varlistentry>
<varlistentry><term><filename>wineclipsrv</filename></term>
<listitem>
<para>
@ -334,7 +354,27 @@
</listitem>
</varlistentry>
<varlistentry><term><filename>winecfg</filename></term>
<varlistentry><term><filename>winelauncher</filename></term>
<listitem>
<para>
(not getting installed via make install)
A wine wrapper shell script that intelligently handles
wine invocation by informing the user about what's going
on, among other things.
To be found in tools/ directory.
Use of this wrapper script instead of directly using wine
is strongly encouraged, as it not only improves the user
interface, but also adds important functionality to wine,
such as session bootup/startup actions.
If you intend to use this script, then you might want to
rename the wine executable to e.g. wine.bin and
winelauncher to wine.
the <link linkend=WINECONFDIR endterm=wineconfdir.id></link>/config file.
</para>
</listitem>
</varlistentry>
<varlistentry><term><filename>winesetup</filename></term>
<listitem>
<para>
This is a Tcl/Tk based front end that provides
@ -348,7 +388,7 @@
<listitem>
<para>
This shell script can be called by Wine in order
to propogate Desktop icon and menu creation
to propagate Desktop icon and menu creation
requests out to a GNOME or KDE (or other
Window Managers).
</para>
@ -387,7 +427,7 @@
<listitem>
<para>
The fnt2bdf utility extracts fonts from .fnt or
.dll files and stores then in .dbf format files.
.dll files and stores them in .bdf format files.
</para>
</listitem>
</varlistentry>
@ -399,6 +439,22 @@
</listitem>
</varlistentry>
<varlistentry><term><filename>uninstaller</filename></term>
<listitem>
<para>
(not getting installed via make install)
A Winelib program to uninstall installed Windows programs.
To be found in the programs/ source directory.
This program can be used to uninstall most Windows programs
(just like the Add/Remove Programs item in Windows)
by taking the registry uninstall strings that get created
by installers such as InstallShield or WISE.
In binary packages, it should probably be renamed
to something like wine-uninstaller for consistency's sake.
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
@ -407,16 +463,15 @@
<simplelist columns=5>
<member>libwine.so.1.0</>
<member>libddraw.so.1.0</>
<member>libopengl32.so.1.0</>
<member>libx11drv.so.1.0</>
<member>libadvapi32.so.1.0</>
<member>libavicap32.so.1.0</>
<member>libavifil32.so.1.0</>
<member>libcomctl32.so.1.0</>
<member>libcomdlg32.so.1.0</>
<member>libcrtdll.so.1.0</>
<member>libdciman32.so.1.0</>
<member>libddraw.so.1.0</>
<member>libdevenum.so.1.0</>
<member>libdinput.so.1.0</>
<member>libdplay.so.1.0</>
<member>libdplayx.so.1.0</>
@ -425,12 +480,27 @@
<member>libicmp.so.1.0</>
<member>libimagehlp.so.1.0</>
<member>libimm32.so.1.0</>
<member>libjoystick.drv.so.1.0</>
<member>libkernel32.so.1.0</>
<member>liblz32.so.1.0</>
<member>libmapi.so.1.0</>
<member>libmcianim.drv.so.1.0</>
<member>libmciavi.drv.so.1.0</>
<member>libmcicda.drv.so.1.0</>
<member>libmciseq.drv.so.1.0</>
<member>libmciwave.drv.so.1.0</>
<member>libmidimap.drv.so.1.0</>
<member>libmpr.so.1.0</>
<member>libmsacm.drv.so.1.0</>
<member>libmsacm32.so.1.0</>
<member>libmsdmo.so.1.0</>
<member>libmsimg32.so.1.0</>
<member>libmsnet32.so.1.0</>
<member>libmsrle32.so.1.0</>
<member>libmsvcrt.so.1.0</>
<member>libmsvfw32.so.1.0</>
<member>libnetapi32.so.1.0</>
<member>libntdll.so.1.0</>
<member>libodbc32.so.1.0</>
<member>libole32.so.1.0</>
<member>liboleaut32.so.1.0</>
@ -438,39 +508,42 @@
<member>liboledlg.so.1.0</>
<member>libolepro32.so.1.0</>
<member>libolesvr32.so.1.0</>
<member>libopengl32.so.1.0</>
<member>libpsapi.so.1.0</>
<member>libqcap.so.1.0</>
<member>libquartz.so.1.0</>
<member>librasapi32.so.1.0</>
<member>libriched32.so.1.0</>
<member>librpcrt4.so.1.0</>
<member>libserialui.so.1.0</>
<member>libsetupapi.so.1.0</>
<member>libshdocvw.so.1.0</>
<member>libshell32.so.1.0</>
<member>libshfolder.so.1.0</>
<member>libshlwapi.so.1.0</>
<member>libsti.so.1.0</>
<member>libtapi32.so.1.0</>
<member>libttydrv.so.1.0</>
<member>liburl.so.1.0</>
<member>liburlmon.so.1.0</>
<member>libuser32.so.1.0</>
<member>libversion.so.1.0</>
<member>libw32skrnl.so.1.0</>
<member>libwnaspi32.so.1.0</>
<member>libwine.so.1.0</>
<member>libwine_unicode.so.1.0</>
<member>libwinedos.so.1.0</>
<member>libwineoss.drv.so.1.0</>
<member>libwineps.so.1.0</>
<member>libwininet.so.1.0</>
<member>libjoystick.drv.so.1.0</>
<member>libwinmm.so.1.0</>
<member>libmcianim.drv.so.1.0</>
<member>libmciavi.drv.so.1.0</>
<member>libmcicda.drv.so.1.0</>
<member>libmciseq.drv.so.1.0</>
<member>libmciwave.drv.so.1.0</>
<member>libmidimap.drv.so.1.0</>
<member>libmsacm.drv.so.1.0</>
<member>libwineoss.drv.so.1.0</>
<member>libws2_32.so.1.0</>
<member>libwinnls32.so.1.0</>
<member>libwinspool.drv.so.1.0</>
<member>libwintrust.so.1.0</>
<member>libwnaspi32.so.1.0</>
<member>libwow32.so.1.0</>
<member>libws2_32.so.1.0</>
<member>libwsock32.so.1.0</>
<member>libwine_unicode.so.1.0</>
<member>libx11drv.so.1.0</>
</simplelist>
</listitem>
@ -752,7 +825,7 @@
<varlistentry><term><filename><link linkend=WINECONFDIR endterm=wineconfdir.id></link>/system.reg</filename></term>
<listitem>
<para>
This file contains the users local copy of
This file contains the user's local copy of
the HKEY_LOCAL_MACHINE registry hive. In general
use, it will contain only changes made to the
default registry values.
@ -763,7 +836,7 @@
<varlistentry><term><filename><link linkend=WINECONFDIR endterm=wineconfdir.id></link>/user.reg</filename></term>
<listitem>
<para>
This file contains the users local copy of
This file contains the user's local copy of
the HKEY_CURRENT_USER registry hive. In
general use, it will contain only changes made to the
default registry values.
@ -774,7 +847,7 @@
<varlistentry><term><filename><link linkend=WINECONFDIR endterm=wineconfdir.id></link>/userdef.reg</filename></term>
<listitem>
<para>
This file contains the users local copy of
This file contains the user's local copy of
the HKEY_USERS\.Default registry hive. In
general use, it will contain only changes made to the
default registry values.
@ -797,11 +870,11 @@
<para>
This file contains the global values for
HKEY_LOCAL_MACHINE. The values in this file
can be overriden by the users local settings.
can be overridden by the user's local settings.
</para>
<note>
<para>
The location of this directory is hard coded within
The location of this directory is hardcoded within
wine, generally to /etc. This will hopefully be
fixed at some point in the future.
</para>
@ -815,7 +888,7 @@
<para>
This file contains the global values for
HKEY_USERS. The values in this file
can be overriden by the users local settings.
can be overridden by the user's local settings.
This file is likely to be deprecated in
favor of a global wine.userdef.reg that will
only contain HKEY_USERS/.Default.
@ -830,7 +903,7 @@
<listitem>
<variablelist><title>Other files in <link linkend=WINECONFDIR endterm=wineconfdir.id></link></title>
<varlistentry><term><filename><link linkend=WINECONFDIR endterm=wineconfdir.id></link>/wineserver-[username]</filename></term>
<varlistentry><term><filename><link linkend=WINECONFDIR endterm=wineconfdir.id></link>/wineserver-[hostname]</filename></term>
<listitem>
<para>
This directory contains files used by Wine and the Wineserver
@ -911,7 +984,7 @@
Windows Dynamic Link Libraries ([WINDOWSDIR]/system32/*.dll)
</para>
<para>
Wine has the ability to use the actuall Windows DLL files
Wine has the ability to use the actual Windows DLL files
when running an application. An end user can configure
Wine so that Wine uses some or all of these DLL files
when running a given application.
@ -944,8 +1017,8 @@
The most basic question to ask is given the Wine CVS tree,
what physical files are you, the packager, going to produce?
Are you going to produce only a wine.rpm (as Marcus has done),
or are you going to produce 5 debian files
(libwine-dev, libwine, wine-doc, wine-utils, and wine) as
or are you going to produce 6 Debian files
(libwine, libwine-dev, wine, wine-doc, wine-utils and winesetuptk) as
Ove has done?
</para>
<para>
@ -1007,6 +1080,12 @@
and the OpenLinux package for specific details on how
those packages are built.
</para>
<para>
You might also want to use the wine wrapper script winelauncher
that can be found in tools/ directory, as it has several important
advantages over directly invoking the wine binary.
See the <link linkend=binfiles>Executable Files</link> section
for details.
<sect2 id=opt><title>The question of /opt/wine</title>
<para>
@ -1034,15 +1113,15 @@
Rely completely on user file space - install nothing
</para>
<para>
This approach relies upon the new winecfg utility and
the new ability of Wine to launch winecfg if no configuration file is found.
This approach relies upon the new winesetup utility and
the new ability of Wine to launch winesetup if no configuration file is found.
The basic concept is that no global configuration files
are created at install time.
Instead, Wine configuration files are created on the
fly by the winecfg program when Wine is invoked.
Further, winecfg creates default Windows directories
fly by the winesetup program when Wine is invoked.
Further, winesetup creates default Windows directories
and paths that are stored completely in
the users <link linkend=WINECONFDIR endterm=wineconfdir.id></link>.
the user's <link linkend=WINECONFDIR endterm=wineconfdir.id></link>.
</para>
<para>
This approach has the benefit of simplicity in that all
@ -1054,7 +1133,7 @@
This approach, however, adds another level of complexity.
It does not allow Wine to run Solitaire 'out of the box';
the user must run the configuration program first. Further,
winecfg requires Tcl/Tk, a requirement not beloved by some.
winesetup requires Tcl/Tk, a requirement not beloved by some.
Additionally, this approach closes the door on multi
user configurations and presumes a single user approach.
</para>
@ -1234,7 +1313,7 @@ fi
<para>Creating a good default configuration file</para>
<para>
For the rationales of needing as less input from the
user as possible arises the need for a very good
user as possible arises the need for a very good
configuration file. The one supplied with WINE is
currently lacking. We need:
</para>
@ -1246,7 +1325,7 @@ fi
<itemizedlist>
<listitem>
<para>
A for the floppy. Specify your distributions
A for the floppy. Specify your distribution's
default floppy mountpoint here.
</para>
<programlisting>
@ -1256,7 +1335,7 @@ Path=/auto/floppy
<listitem>
<para>
C for the <filename>C:\</filename> directory.
Here we use the users homedirectory, for most
Here we use the user's home directory, for most
applications do see <filename>C:\</filename>
as root-writeable directory of every windows
installation and this basically is it in the
@ -1269,7 +1348,7 @@ Path=${HOME}
<listitem>
<para>
R for the CD-Rom drive. Specify your
distributions default CD-ROM drives mountpoint
distribution's default CD-ROM drives mountpoint
here.
</para>
<programlisting>
@ -1295,7 +1374,7 @@ Path=/auto/cdrom
for instance <filename>lose95</filename>,
<filename>win</filename> or
<filename>sys\win95</filename>). During
compile/package/install we leave this to be
compile/package/install we leave this to be
<filename>/</filename>, it has to be
configured after the package install.
</para>
@ -1304,8 +1383,8 @@ Path=/auto/cdrom
<para>
Z for the UNIX Root directory. This avoids any
problems with "could not find drive for
current directory" users occasionaly complain
about in the newsgroup and the ircchannel. It
current directory" users occasionally complain
about in the newsgroup and the irc channel. It
also makes the whole directory structure
browseable. The type of Z should be network,
so applications expect it to be readonly.
@ -1321,10 +1400,10 @@ Path=/
[wine]:
</para>
<screen>
Windows=c:\windows\ (the windows/ subdirectory in the users
homedirectory)
System=c:\windows\system\ (the windows/system subdirectory in the users
homedirectory)
Windows=c:\windows\ (the windows/ subdirectory in the user's
home directory)
System=c:\windows\system\ (the windows/system subdirectory in the user's
home directory)
Path=c:\windows;c:\windows\system;c:\windows\system32;w:\;w:\system;w:\system32;
; Using this trick we have in fact two windows installations in one, we
; get the stuff from the readonly installation and can write to our own.
@ -1374,6 +1453,9 @@ Path=/
that <filename>setup.ins</filename> or some other mess
is missing... If you choose to do so, then please make
this change verbose to the admin.
Also make sure that the kernel you use includes the Joliet
CD-ROM support, for the very same reasons as given above
(no long filenames due to missing Joliet, files not found).
</para>
</listitem>
<listitem>
@ -1420,7 +1502,7 @@ Path=/
</para>
<para>
This will give a huge number of symlinks, yes.
However, if an installer later overwrites on of
However, if an installer later overwrites one of
those files, it will overwrite the symlink (so
that the file now lies in the
<filename>windows/</filename> subdirectory).
@ -1433,7 +1515,7 @@ Path=/
<listitem>
<para>
On later invocation the script might want to
compare regular files in the users windows
compare regular files in the user's windows
directories and in the global windows directories
and replace same files by symlinks (to avoid
diskspace problems).
@ -1446,7 +1528,7 @@ Path=/
</orderedlist>
<sect2 id=sample><title>Sample <filename>wine.ini</filename> for OpenLinux 2.x:</title>
<sect2 id=sample><title>Sample <filename>wine.ini</filename> for OpenLinux 2.x (outdated, for review purposes only !):</title>
<programlisting>
@ -1498,7 +1580,7 @@ Filesystem=win95
;
; Drive 'C' links to the users homedirectory.
; Drive 'C' links to the user's homedirectory.
;
; This must point to a writeable directory structure (not your readonly
; mounted DOS partitions!) since programs want to dump stuff into
@ -1768,40 +1850,40 @@ Startup=
<orderedlist>
<listitem>
<para>
Remove duplication of code between winecfg and
Remove duplication of code between winesetup and
wineconf/wineinstall.
</para>
<para>
Currently, winecfg duplicates all of the code contained
Currently, winesetup duplicates all of the code contained
in wineconf.
</para>
<para>
Instead, wineconf should be improved to generate
the new style config file, and then winecfg should
the new style config file, and then winesetup should
rely on wineconf to generate the default
configuration file.
</para>
<para>
Similarly, there is functionality such as creating
the default registry files that is now done by
both winecfg and wineinstall.
both winesetup and wineinstall.
</para>
<para>
At this time, it seems like the right thing to do
is to break up or parameterize wineinstall, so that
it can be used for single function actions,
and then have winecfg call those functions.
and then have winesetup call those functions.
</para>
</listitem>
<listitem>
<para>
Enhance winecfg to support W: drive generation.
Enhance winesetup to support W: drive generation.
</para>
<para>
The best practices convention now seems to be
to generate a set of drives from M: through W:.
At this point, winecfg does not generate
At this point, winesetup does not generate
a default wine config file that follows
these conventions. It should.
</para>
@ -1838,7 +1920,7 @@ Startup=
Get Marcus's winesetup facilities into CVS
</para>
<para>
Along the lines of the changes to winecfg,
Along the lines of the changes to winesetup,
and the consolidation of wineconf and wineinstall,
we should extract the good stuff from Marcus's
winesetup script, and get it into CVS.

View File

@ -210,6 +210,8 @@ WINE REGISTRY Version 2
[Tweak.Layout]
;; supported styles are 'Win31'(default), 'Win95', 'Win98'
;; this has *nothing* to do with the windows version Wine returns:
;; use cmdline option --winver if you want that.
"WineLook" = "Win95"
[Console]

View File

@ -121,7 +121,7 @@ int DIR_Init(void)
path, sizeof(path) );
if (strchr(path, '/'))
{
MESSAGE("No '/' allowed in [wine] 'Path=' statement of wine config!\n");
MESSAGE("Fix your wine config to use DOS drive syntax in [wine] 'Path=' statement! (no '/' allowed)\n");
PROFILE_UsageWineIni();
ExitProcess(1);
}

View File

@ -1222,13 +1222,13 @@ static DWORD DOSFS_DoGetFullPathName( LPCSTR name, DWORD len, LPSTR result,
int namelen,drive=0;
if ((strlen(name) >1)&& (name[1]==':'))
/*drive letter given */
/* drive letter given */
{
driveletter = name[0];
}
if ((strlen(name) >2)&& (name[1]==':') &&
((name[2]=='\\') || (name[2]=='/')))
/*absolute path given */
/* absolute path given */
{
lstrcpynA(full_name.short_name,name,MAX_PATHNAME_LEN);
drive = (int)FILE_toupper(name[0]) - 'A';
@ -1285,7 +1285,7 @@ static DWORD DOSFS_DoGetFullPathName( LPCSTR name, DWORD len, LPSTR result,
if ( *p == '/' )
*p = '\\';
}
/* Use memmove, as areas overlap*/
/* Use memmove, as areas overlap */
/* Delete .. */
while ((p = strstr(full_name.short_name,"\\..\\")))
{
@ -1317,8 +1317,8 @@ static DWORD DOSFS_DoGetFullPathName( LPCSTR name, DWORD len, LPSTR result,
namelen=strlen(full_name.short_name);
if (!strcmp(full_name.short_name+namelen-3,"\\.."))
{
/* one more starnge case: "c:\test\test1\.."
return "c:\test"*/
/* one more strange case: "c:\test\test1\.."
return "c:\test" */
*(full_name.short_name+namelen-3)=0;
q = strrchr(full_name.short_name,'\\');
*q =0;
@ -1332,7 +1332,7 @@ static DWORD DOSFS_DoGetFullPathName( LPCSTR name, DWORD len, LPSTR result,
/* If the lpBuffer buffer is too small, the return value is the
size of the buffer, in characters, required to hold the path
plus the terminating \0 (tested against win95osr, bon 001118)
plus the terminating \0 (tested against win95osr2, bon 001118)
. */
ret = strlen(full_name.short_name);
if (ret >= len )

View File

@ -869,7 +869,7 @@ DWORD CDROM_GetLabel(int drive, char *label)
case CDS_MIXED:
cdname = "Mixed mode";
ERR("We don't have a way of determining the label of a mixed mode CD - Linux doesn't allow raw access !!\n");
FIXME("Need to get the label of a mixed mode CD: not implemented yet !\n");
/* fall through */
case CDS_NO_INFO:

View File

@ -2448,7 +2448,7 @@ void WINAPI DOS3Call( CONTEXT86 *context )
}
if ((context->EFlags & 0x0001))
TRACE("failed, error 0x%04lx\n", GetLastError() );
TRACE("failed, error %ld\n", GetLastError() );
TRACE("returning: AX=%04x BX=%04x CX=%04x DX=%04x "
"SI=%04x DI=%04x DS=%04x ES=%04x EFL=%08lx\n",

View File

@ -1,7 +1,7 @@
/*
* Q&D Uninstaller (main.c)
*
* Copyright 2000 Andreas Mohr <a.mohr@mailto.de>
* Copyright 2000 Andreas Mohr <andi@lisas.de>
* To be distributed under the Wine License
*/
@ -40,7 +40,7 @@
char appname[18];
static char about_string[] =
"Windows program uninstaller (C) 2000 by Andreas Mohr <a.mohr@mailto.de>";
"Windows program uninstaller (C) 2000 by Andreas Mohr <andi@lisas.de>";
static char program_description[] =
"Welcome to the Wine uninstaller !\n\nThe purpose of this program is to let you get rid of all those fantastic programs that somehow manage to always take way too much space on your HDD :-)";

View File

@ -1,7 +1,7 @@
/*
* Uninstaller (rsrc.rc)
*
* Copyright 2000 Andreas Mohr <a.mohr@mailto.de>
* Copyright 2000 Andreas Mohr <andi@lisas.de>
* To be distributed under the Wine License
*/

View File

@ -2,7 +2,7 @@
* pthread emulation for re-entrant libcs
*
* We can't use pthreads directly, so why not let libcs
* that wants pthreads use Wine's own threading instead...
* that want pthreads use Wine's own threading instead...
*
* Copyright 1999 Ove Kåven
*/

View File

@ -378,7 +378,7 @@ then {
then {
rm -f $TMPCONF $TMPREG > /dev/null
echo " not found."
echo " not found. (no matching /etc/fstab mount entry found)"
conf_question low do_without_windows \
"Windows was not found on your system, so I assume you want" \
"a Wine-only installation. Am I correct?"

View File

@ -291,12 +291,12 @@ EXIT:
/******************************************************************
* start_debugger_atomic
*
* starts the debugger is an atomic way:
* starts the debugger in an atomic way:
* - either the debugger is not started and it is started
* - either the debugger has already been started by an other thread
* - either the debugger couldn't be started
* - or the debugger has already been started by another thread
* - or the debugger couldn't be started
*
* returns TRUE for the two first condition, FALSE for the last
* returns TRUE for the two first conditions, FALSE for the last
*/
static int start_debugger_atomic(PEXCEPTION_POINTERS epointers)
{
@ -314,9 +314,8 @@ static int start_debugger_atomic(PEXCEPTION_POINTERS epointers)
attr.SecurityDescriptor = NULL;
attr.SecurityQualityOfService = NULL;
/* ask for manual reset, so that once the debugger is started, every thread will be
* know it
*/
/* ask for manual reset, so that once the debugger is started,
* every thread will know it */
NtCreateEvent( &hEvent, EVENT_ALL_ACCESS, &attr, TRUE, FALSE );
if (InterlockedCompareExchange( (LPLONG)&hRunOnce, hEvent, 0 ) == 0)
{
@ -338,9 +337,9 @@ static int start_debugger_atomic(PEXCEPTION_POINTERS epointers)
/* and wait for the winner to have actually created the debugger */
WaitForSingleObject( hRunOnce, INFINITE );
/* in fact, here, we only know that someone has tried to start the debugger, we'll know
* by reposting the exception if it has actually attached to the current process
*/
/* in fact, here, we only know that someone has tried to start the debugger,
* we'll know by reposting the exception if it has actually attached
* to the current process */
return TRUE;
}

View File

@ -42,20 +42,20 @@ VOID WINAPI GetLocalTime(LPSYSTEMTIME systime)
*/
VOID WINAPI GetSystemTime(LPSYSTEMTIME systime)
{
time_t local_time;
struct tm *local_tm;
time_t system_time;
struct tm *system_tm;
struct timeval tv;
gettimeofday(&tv, NULL);
local_time = tv.tv_sec;
local_tm = gmtime(&local_time);
system_time = tv.tv_sec;
system_tm = gmtime(&system_time);
systime->wYear = local_tm->tm_year + 1900;
systime->wMonth = local_tm->tm_mon + 1;
systime->wDayOfWeek = local_tm->tm_wday;
systime->wDay = local_tm->tm_mday;
systime->wHour = local_tm->tm_hour;
systime->wMinute = local_tm->tm_min;
systime->wSecond = local_tm->tm_sec;
systime->wYear = system_tm->tm_year + 1900;
systime->wMonth = system_tm->tm_mon + 1;
systime->wDayOfWeek = system_tm->tm_wday;
systime->wDay = system_tm->tm_mday;
systime->wHour = system_tm->tm_hour;
systime->wMinute = system_tm->tm_min;
systime->wSecond = system_tm->tm_sec;
systime->wMilliseconds = (tv.tv_usec / 1000) % 1000;
}