Release 970824
Sat Aug 23 00:05:23 1997 Andreas Mohr <100.30936@germany.net>
* [if1632/kernel.spec] [if1632/mmsystem.spec]
Added some stubs.
* [include/neexe.h] [loader/module.c]
Added warning for OS/2 executables.
* [multimedia/midi.c]
Shortened MIDIOUT driver version string to be less than 31 chars.
* [objects/gdiobj.c]
Fixed DeleteObject32() to react properly when called with stock object.
Fri Aug 22 18:03:26 1997 Dimitrie O. Paun <dimi@cs.toronto.edu>
* [controls/updown.c] [include/updown.h]
First attempt at implementiong the UpDown class.
* [controls/widgets.c]
Added the UpDown class to be initialized by InitCommonControls().
Wed Aug 20 18:01:33 1997 Doug Ridgway <ridgway@routh.UCSD.EDU>
* [graphics/*] [objects/*] [include/gdi.h]
Made all GDI objects (except DCs) moveable.
Mon Aug 18 03:25:30 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [windows/event.c] [misc/winsock.c] [misc/winsock_dns.c]
Removed IPC communication to speed up winsock services
(tested only with 16-bit netscape 3.03).
* [graphics/x11drv/xfont.c] [documentation/fonts]
Miscellaneous improvements. Updated docs.
Sun Aug 17 20:39:55 1997 Ingo Schneider <schneidi@informatik.tu-muenchen.de>
* [misc/comm.c]
A couple of bug fixes.
Sun Aug 17 19:29:22 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [debugger/dbg.y]
Display next instruction after stepi/nexti.
* [if1632/relay.c] [include/callback.h] [tools/build.c]
Replaced CallTo32_LargeStack with the CALL_LARGE_STACK macro for
better Winelib support.
* [include/sigcontext.h]
Renamed to sig_context.h to avoid conflicts with libc.
* [*/*]
All API functions are now prefixed with WINAPI in prevision of
future Winelib integration.
* [loader/signal.c] [memory/ldt.c]
Fixed assembly code to be -fPIC compatible.
Thu Aug 14 14:38:15 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [if1632/crtdll.spec][win32/except.c]
_global_unwind, _local_unwind stub added.
* [objects/dib.c]
Don't read memory you don't even need for the target bitmap (fixes
one 'lazy' program).
* [if1632/relay.c][if1632/thunk.c][if1632/kernel32.spec]
[win32/ordinals.c][memory/selector.c][memory/global.c]
[include/callback.h]
Added/moved some more win95 ordinal stuff. Implemented QT_Thunk
(not 100% correct yet) and some friends.
* [loader/pe_image.c]
Add possibility to break at the DLL entrypoint.
* [controls/static.c][misc/commdlg.c][scheduler/thread.c]
Misc bugfixes and additions.
* [misc/registry.c]
The registry seems to be case-preserving but case-insensitive.
* [memory/global.c]
Adapted to new /proc/meminfo format.
* [objects/font.c][graphics/x11drv/xfont.c]
FONT_SelectObject and GetTextMetrics* get passed ranges in logical
and not device points (thanks to Marion Reyzl for pointing this
out).
* [windows/caret.c]
Use the windows own DC if present (The caret coordinates are
logical coordinates based on it). Fixes another AMIPRO problem.
Wed Aug 6 18:22:22 1997 Morten Welinder <terra@diku.dk>
* [controls/menu.c]
General clean-up and Win32 work: split item_flags into fType and
fState; split item_id into wID and hSubMenu. Improved
debug-printing. Implemented InsertMenuItem32[AW],
SetMenuDefaultItem32, and SetMenuItemInfo32[AW]. Fixed
GetMenuItemInfo32[AW].
* [if1632/user32.spec]
Define above new functions.
* [include/windows.h]
Define MF_DEFAULT and MF_RIGHTJUSTIFY. Prototype above functions.
* [include/menu.h]
Don't prototype now-static MENU_InitSysMenuPopup.
* [include/comm.h]
Reduce MAX_PORTS to 9 (which the profile code can handle).
Tue Aug 5 20:16:22 1997 Victor Schneider <vischne@ibm.net>
* [library/winestub.c] [libtest/expand.c]
These patches let people porting Windows apps compile them using
the same conventions regarding global _argc and _argv as those on
Windows C/C++ compilers.
diff --git a/memory/string.c b/memory/string.c
index 05beae1..72efb86 100644
--- a/memory/string.c
+++ b/memory/string.c
@@ -55,7 +55,7 @@
/***********************************************************************
* hmemcpy (KERNEL.348)
*/
-void hmemcpy( LPVOID dst, LPCVOID src, LONG count )
+void WINAPI hmemcpy( LPVOID dst, LPCVOID src, LONG count )
{
memcpy( dst, src, count );
}
@@ -64,7 +64,7 @@
/***********************************************************************
* lstrcat16 (KERNEL.89)
*/
-SEGPTR lstrcat16( SEGPTR dst, LPCSTR src )
+SEGPTR WINAPI lstrcat16( SEGPTR dst, LPCSTR src )
{
lstrcat32A( (LPSTR)PTR_SEG_TO_LIN(dst), src );
return dst;
@@ -74,7 +74,7 @@
/***********************************************************************
* lstrcat32A (KERNEL32.599)
*/
-LPSTR lstrcat32A( LPSTR dst, LPCSTR src )
+LPSTR WINAPI lstrcat32A( LPSTR dst, LPCSTR src )
{
dprintf_string(stddeb,"strcat: Append '%s' to '%s'\n",
(src)?src:"NULL",(dst)?dst:"NULL");
@@ -86,7 +86,7 @@
/***********************************************************************
* lstrcat32W (KERNEL32.600)
*/
-LPWSTR lstrcat32W( LPWSTR dst, LPCWSTR src )
+LPWSTR WINAPI lstrcat32W( LPWSTR dst, LPCWSTR src )
{
register LPWSTR p = dst;
while (*p) p++;
@@ -98,7 +98,7 @@
/***********************************************************************
* lstrcatn16 (KERNEL.352)
*/
-SEGPTR lstrcatn16( SEGPTR dst, LPCSTR src, INT16 n )
+SEGPTR WINAPI lstrcatn16( SEGPTR dst, LPCSTR src, INT16 n )
{
lstrcatn32A( (LPSTR)PTR_SEG_TO_LIN(dst), src, n );
return dst;
@@ -108,7 +108,7 @@
/***********************************************************************
* lstrcatn32A (Not a Windows API)
*/
-LPSTR lstrcatn32A( LPSTR dst, LPCSTR src, INT32 n )
+LPSTR WINAPI lstrcatn32A( LPSTR dst, LPCSTR src, INT32 n )
{
register LPSTR p = dst;
dprintf_string(stddeb,"strcatn add %d chars from '%s' to '%s'\n",
@@ -123,7 +123,7 @@
/***********************************************************************
* lstrcatn32W (Not a Windows API)
*/
-LPWSTR lstrcatn32W( LPWSTR dst, LPCWSTR src, INT32 n )
+LPWSTR WINAPI lstrcatn32W( LPWSTR dst, LPCWSTR src, INT32 n )
{
register LPWSTR p = dst;
while (*p) p++;
@@ -136,7 +136,7 @@
/***********************************************************************
* lstrcmp16 (USER.430)
*/
-INT16 lstrcmp16( LPCSTR str1, LPCSTR str2 )
+INT16 WINAPI lstrcmp16( LPCSTR str1, LPCSTR str2 )
{
return (INT16)lstrcmp32A( str1, str2 );
}
@@ -145,7 +145,7 @@
/***********************************************************************
* lstrcmp32A (KERNEL.602)
*/
-INT32 lstrcmp32A( LPCSTR str1, LPCSTR str2 )
+INT32 WINAPI lstrcmp32A( LPCSTR str1, LPCSTR str2 )
{
dprintf_string(stddeb,"strcmp: '%s' and '%s'\n",
(str1)?str1:"NULL",(str2)?str2:"NULL");
@@ -156,7 +156,7 @@
/***********************************************************************
* lstrcmp32W (KERNEL.603)
*/
-INT32 lstrcmp32W( LPCWSTR str1, LPCWSTR str2 )
+INT32 WINAPI lstrcmp32W( LPCWSTR str1, LPCWSTR str2 )
{
while (*str1 && (*str1 == *str2)) { str1++; str2++; }
return (INT32)(*str1 - *str2);
@@ -166,7 +166,7 @@
/***********************************************************************
* lstrcmpi16 (USER.471)
*/
-INT16 lstrcmpi16( LPCSTR str1, LPCSTR str2 )
+INT16 WINAPI lstrcmpi16( LPCSTR str1, LPCSTR str2 )
{
return (INT16)lstrcmpi32A( str1, str2 );
}
@@ -175,7 +175,7 @@
/***********************************************************************
* lstrcmpi32A (KERNEL32.605)
*/
-INT32 lstrcmpi32A( LPCSTR str1, LPCSTR str2 )
+INT32 WINAPI lstrcmpi32A( LPCSTR str1, LPCSTR str2 )
{
INT32 res;
@@ -194,7 +194,7 @@
/***********************************************************************
* lstrcmpi32W (KERNEL32.606)
*/
-INT32 lstrcmpi32W( LPCWSTR str1, LPCWSTR str2 )
+INT32 WINAPI lstrcmpi32W( LPCWSTR str1, LPCWSTR str2 )
{
INT32 res;
@@ -212,7 +212,7 @@
/***********************************************************************
* lstrcpy16 (KERNEL.88)
*/
-SEGPTR lstrcpy16( SEGPTR dst, LPCSTR src )
+SEGPTR WINAPI lstrcpy16( SEGPTR dst, LPCSTR src )
{
lstrcpy32A( (LPSTR)PTR_SEG_TO_LIN(dst), src );
return dst;
@@ -222,7 +222,7 @@
/***********************************************************************
* lstrcpy32A (KERNEL32.608)
*/
-LPSTR lstrcpy32A( LPSTR dst, LPCSTR src )
+LPSTR WINAPI lstrcpy32A( LPSTR dst, LPCSTR src )
{
dprintf_string(stddeb,"strcpy '%s'\n",
(src)?src:"NULL");
@@ -235,7 +235,7 @@
/***********************************************************************
* lstrcpy32W (KERNEL32.609)
*/
-LPWSTR lstrcpy32W( LPWSTR dst, LPCWSTR src )
+LPWSTR WINAPI lstrcpy32W( LPWSTR dst, LPCWSTR src )
{
register LPWSTR p = dst;
while ((*p++ = *src++));
@@ -246,7 +246,7 @@
/***********************************************************************
* lstrcpyn16 (KERNEL.353)
*/
-SEGPTR lstrcpyn16( SEGPTR dst, LPCSTR src, INT16 n )
+SEGPTR WINAPI lstrcpyn16( SEGPTR dst, LPCSTR src, INT16 n )
{
lstrcpyn32A( (LPSTR)PTR_SEG_TO_LIN(dst), src, n );
return dst;
@@ -256,7 +256,7 @@
/***********************************************************************
* lstrcpyn32A (KERNEL32.611)
*/
-LPSTR lstrcpyn32A( LPSTR dst, LPCSTR src, INT32 n )
+LPSTR WINAPI lstrcpyn32A( LPSTR dst, LPCSTR src, INT32 n )
{
LPSTR p = dst;
dprintf_string(stddeb,"strcpyn '%s' for %d chars\n",
@@ -270,7 +270,7 @@
/***********************************************************************
* lstrcpyn32W (KERNEL32.612)
*/
-LPWSTR lstrcpyn32W( LPWSTR dst, LPCWSTR src, INT32 n )
+LPWSTR WINAPI lstrcpyn32W( LPWSTR dst, LPCWSTR src, INT32 n )
{
LPWSTR p = dst;
while ((n-- > 1) && *src) *p++ = *src++;
@@ -282,7 +282,7 @@
/***********************************************************************
* lstrlen16 (KERNEL.90)
*/
-INT16 lstrlen16( LPCSTR str )
+INT16 WINAPI lstrlen16( LPCSTR str )
{
return (INT16)lstrlen32A( str );
}
@@ -291,7 +291,7 @@
/***********************************************************************
* lstrlen32A (KERNEL32.614)
*/
-INT32 lstrlen32A( LPCSTR str )
+INT32 WINAPI lstrlen32A( LPCSTR str )
{
/* looks weird, but win3.1 KERNEL got a GeneralProtection handler
* in lstrlen() ... we check only for NULL pointer reference.
@@ -306,7 +306,7 @@
/***********************************************************************
* lstrlen32W (KERNEL32.615)
*/
-INT32 lstrlen32W( LPCWSTR str )
+INT32 WINAPI lstrlen32W( LPCWSTR str )
{
INT32 len = 0;
if (!str) return 0;
@@ -318,7 +318,7 @@
/***********************************************************************
* lstrncmp32A (Not a Windows API)
*/
-INT32 lstrncmp32A( LPCSTR str1, LPCSTR str2, INT32 n )
+INT32 WINAPI lstrncmp32A( LPCSTR str1, LPCSTR str2, INT32 n )
{
dprintf_string(stddeb,"strncmp '%s' and '%s' for %d chars\n",
(str1)?str1:"NULL",(str2)?str2:"NULL",n);
@@ -329,7 +329,7 @@
/***********************************************************************
* lstrncmp32W (Not a Windows API)
*/
-INT32 lstrncmp32W( LPCWSTR str1, LPCWSTR str2, INT32 n )
+INT32 WINAPI lstrncmp32W( LPCWSTR str1, LPCWSTR str2, INT32 n )
{
if (!n) return 0;
while ((--n > 0) && *str1 && (*str1 == *str2)) { str1++; str2++; }
@@ -340,7 +340,7 @@
/***********************************************************************
* lstrncmpi32A (Not a Windows API)
*/
-INT32 lstrncmpi32A( LPCSTR str1, LPCSTR str2, INT32 n )
+INT32 WINAPI lstrncmpi32A( LPCSTR str1, LPCSTR str2, INT32 n )
{
INT32 res;
@@ -357,7 +357,7 @@
/***********************************************************************
* lstrncmpi32W (Not a Windows API)
*/
-INT32 lstrncmpi32W( LPCWSTR str1, LPCWSTR str2, INT32 n )
+INT32 WINAPI lstrncmpi32W( LPCWSTR str1, LPCWSTR str2, INT32 n )
{
INT32 res;
@@ -376,7 +376,7 @@
/***********************************************************************
* lstrcpyAtoW (Not a Windows API)
*/
-LPWSTR lstrcpyAtoW( LPWSTR dst, LPCSTR src )
+LPWSTR WINAPI lstrcpyAtoW( LPWSTR dst, LPCSTR src )
{
register LPWSTR p = dst;
while ((*p++ = (WCHAR)(unsigned char)*src++));
@@ -387,7 +387,7 @@
/***********************************************************************
* lstrcpyWtoA (Not a Windows API)
*/
-LPSTR lstrcpyWtoA( LPSTR dst, LPCWSTR src )
+LPSTR WINAPI lstrcpyWtoA( LPSTR dst, LPCWSTR src )
{
register LPSTR p = dst;
while ((*p++ = (CHAR)*src++));
@@ -398,7 +398,7 @@
/***********************************************************************
* lstrcpynAtoW (Not a Windows API)
*/
-LPWSTR lstrcpynAtoW( LPWSTR dst, LPCSTR src, INT32 n )
+LPWSTR WINAPI lstrcpynAtoW( LPWSTR dst, LPCSTR src, INT32 n )
{
LPWSTR p = dst;
while ((n-- > 1) && *src) *p++ = (WCHAR)(unsigned char)*src++;
@@ -410,7 +410,7 @@
/***********************************************************************
* lstrcpynWtoA (Not a Windows API)
*/
-LPSTR lstrcpynWtoA( LPSTR dst, LPCWSTR src, INT32 n )
+LPSTR WINAPI lstrcpynWtoA( LPSTR dst, LPCWSTR src, INT32 n )
{
LPSTR p = dst;
while ((n-- > 1) && *src) *p++ = (CHAR)*src++;
@@ -422,7 +422,7 @@
/***********************************************************************
* Copy (GDI.250)
*/
-void Copy( LPVOID src, LPVOID dst, WORD size )
+void WINAPI Copy( LPVOID src, LPVOID dst, WORD size )
{
memcpy( dst, src, size );
}
@@ -431,7 +431,7 @@
/***********************************************************************
* RtlFillMemory (KERNEL32.441)
*/
-VOID RtlFillMemory( LPVOID ptr, UINT32 len, UINT32 fill )
+VOID WINAPI RtlFillMemory( LPVOID ptr, UINT32 len, UINT32 fill )
{
memset( ptr, fill, len );
}
@@ -440,7 +440,7 @@
/***********************************************************************
* RtlMoveMemory (KERNEL32.442)
*/
-VOID RtlMoveMemory( LPVOID dst, LPCVOID src, UINT32 len )
+VOID WINAPI RtlMoveMemory( LPVOID dst, LPCVOID src, UINT32 len )
{
memmove( dst, src, len );
}
@@ -449,7 +449,7 @@
/***********************************************************************
* RtlZeroMemory (KERNEL32.444)
*/
-VOID RtlZeroMemory( LPVOID ptr, UINT32 len )
+VOID WINAPI RtlZeroMemory( LPVOID ptr, UINT32 len )
{
memset( ptr, 0, len );
}
@@ -458,7 +458,7 @@
/***********************************************************************
* AnsiToOem16 (KEYBOARD.5)
*/
-INT16 AnsiToOem16( LPCSTR s, LPSTR d )
+INT16 WINAPI AnsiToOem16( LPCSTR s, LPSTR d )
{
CharToOem32A( s, d );
return -1;
@@ -468,7 +468,7 @@
/***********************************************************************
* OemToAnsi16 (KEYBOARD.6)
*/
-INT16 OemToAnsi16( LPCSTR s, LPSTR d )
+INT16 WINAPI OemToAnsi16( LPCSTR s, LPSTR d )
{
OemToChar32A( s, d );
return -1;
@@ -478,7 +478,7 @@
/***********************************************************************
* AnsiToOemBuff16 (KEYBOARD.134)
*/
-void AnsiToOemBuff16( LPCSTR s, LPSTR d, UINT16 len )
+void WINAPI AnsiToOemBuff16( LPCSTR s, LPSTR d, UINT16 len )
{
CharToOemBuff32A( s, d, len ? len : 65536 );
}
@@ -487,7 +487,7 @@
/***********************************************************************
* OemToAnsiBuff16 (KEYBOARD.135)
*/
-void OemToAnsiBuff16( LPCSTR s, LPSTR d, UINT16 len )
+void WINAPI OemToAnsiBuff16( LPCSTR s, LPSTR d, UINT16 len )
{
OemToCharBuff32A( s, d, len ? len : 65536 );
}
@@ -496,7 +496,7 @@
/***********************************************************************
* CharToOem32A (USER32.36)
*/
-BOOL32 CharToOem32A( LPCSTR s, LPSTR d )
+BOOL32 WINAPI CharToOem32A( LPCSTR s, LPSTR d )
{
if (!s || !d) return TRUE;
dprintf_string(stddeb,"CharToOem '%s'\n", (s)?s:"NULL");
@@ -509,7 +509,7 @@
/***********************************************************************
* CharToOemBuff32A (USER32.37)
*/
-BOOL32 CharToOemBuff32A( LPCSTR s, LPSTR d, DWORD len )
+BOOL32 WINAPI CharToOemBuff32A( LPCSTR s, LPSTR d, DWORD len )
{
while (len--) *d++ = ANSI_TO_OEM(*s++);
return TRUE;
@@ -519,7 +519,7 @@
/***********************************************************************
* CharToOemBuff32W (USER32.38)
*/
-BOOL32 CharToOemBuff32W( LPCWSTR s, LPSTR d, DWORD len )
+BOOL32 WINAPI CharToOemBuff32W( LPCWSTR s, LPSTR d, DWORD len )
{
while (len--) *d++ = ANSI_TO_OEM(*s++);
return TRUE;
@@ -529,7 +529,7 @@
/***********************************************************************
* CharToOem32W (USER32.39)
*/
-BOOL32 CharToOem32W( LPCWSTR s, LPSTR d )
+BOOL32 WINAPI CharToOem32W( LPCWSTR s, LPSTR d )
{
while ((*d++ = ANSI_TO_OEM(*s++)));
return TRUE;
@@ -539,7 +539,7 @@
/***********************************************************************
* OemToChar32A (USER32.401)
*/
-BOOL32 OemToChar32A( LPCSTR s, LPSTR d )
+BOOL32 WINAPI OemToChar32A( LPCSTR s, LPSTR d )
{
dprintf_string(stddeb,"OemToChar '%s'\n", (s)?s:"NULL");
while ((*d++ = OEM_TO_ANSI(*s++)));
@@ -551,7 +551,7 @@
/***********************************************************************
* OemToCharBuff32A (USER32.402)
*/
-BOOL32 OemToCharBuff32A( LPCSTR s, LPSTR d, DWORD len )
+BOOL32 WINAPI OemToCharBuff32A( LPCSTR s, LPSTR d, DWORD len )
{
dprintf_string(stddeb,"OemToCharBuff '%s' for %ld chars\n", (s)?s:"NULL",len);
while (len--) *d++ = OEM_TO_ANSI(*s++);
@@ -562,7 +562,7 @@
/***********************************************************************
* OemToCharBuff32W (USER32.403)
*/
-BOOL32 OemToCharBuff32W( LPCSTR s, LPWSTR d, DWORD len )
+BOOL32 WINAPI OemToCharBuff32W( LPCSTR s, LPWSTR d, DWORD len )
{
while (len--) *d++ = (WCHAR)OEM_TO_ANSI(*s++);
return TRUE;
@@ -572,7 +572,7 @@
/***********************************************************************
* OemToChar32W (USER32.404)
*/
-BOOL32 OemToChar32W( LPCSTR s, LPWSTR d )
+BOOL32 WINAPI OemToChar32W( LPCSTR s, LPWSTR d )
{
while ((*d++ = (WCHAR)OEM_TO_ANSI(*s++)));
return TRUE;