Commit Graph

376 Commits

Author SHA1 Message Date
Peter Ganten 9f7907eb69 Moved Wine private heap creation flags to other values.
Return system heap when a shared heap is requested.
2000-08-01 23:38:02 +00:00
Alexandre Julliard 58d5a0a786 Removed some unnecessary inclusions of wingdi.h and winuser.h 2000-07-29 21:58:17 +00:00
Wolfgang Schwotzer d9b8f9be37 Added NULL pointer checks. 2000-07-28 23:58:48 +00:00
Ove Kaaven 7b49914afc Removed the hModule parameter from various DOSMEM routines, the DOSMEM
routines now always use the current memory space.
2000-07-28 22:23:59 +00:00
Alexandre Julliard cd770eafcd Temporarily moved advapi32 registry support back into libwine.so, and
made advapi32 a separate dll.
2000-07-25 15:10:52 +00:00
Hidenori Takeshima d4eefeba12 Fix for supporting DBCS. 2000-07-15 19:46:51 +00:00
Alexandre Julliard 6ce257067a Set ansi/oem/mac code pages from current locale. 2000-07-11 22:08:43 +00:00
Hidenori Takeshima 34e10ee30f GetCommandLine should return non-const strings. 2000-06-24 13:37:05 +00:00
Eric Pouech 3d89dd3b88 Added (back) correct behavior for NULL ptrs in CharToOem funcs. 2000-06-24 12:51:48 +00:00
Eric Pouech 3bcfb90188 Fixed some OOM conditions in GlobalAlloc. 2000-06-24 12:51:24 +00:00
Dmitry Timoshkov 73c32e79c5 Reimplement CharToOemA/W, CharToOemBuffA/W, OemToCharA/W,
OemToCharBuffA/W using MultiByteToWideChar/WideCharToMultiByte.
2000-06-18 17:18:18 +00:00
Alexandre Julliard 261abcd5bc Reimplemented Unicode case mapping in a slightly more efficient way.
Moved case mapping support to the unicode directory.
Some cleanups in cpmap.pl, use WCHAR instead of unsigned short.
2000-06-12 01:16:11 +00:00
Alexandre Julliard d268c22274 Added support for symbol codepage.
Improved handling of undefined codepage characters.
2000-06-10 23:12:44 +00:00
Alexandre Julliard f7bf7ef7b4 Rewrote codepage support to use the new codepage tables. 2000-06-10 04:42:33 +00:00
Dmitry Timoshkov 0072c88111 Implement NTDLL.towupper and NTDLL.towlower using already existing
case conversion tables. Replace all direct calls to towupper/towlower
either to NTDLL for core or to CRTDLL if latter already used in the
non core dll.
2000-06-08 20:05:18 +00:00
Alexandre Julliard 8fe0551aa3 Removed a few unnecessary includes. 2000-06-08 04:57:58 +00:00
Ulrich Weigand afd6a4b810 Updated support for Solaris/Sparc architecture. 2000-06-04 01:48:05 +00:00
Alexandre Julliard 4324b4778b Delay loading of interrupt table functions until they are needed. 2000-06-03 04:52:14 +00:00
Turchanov Sergei 43a27e3696 Implemented local atoms in the server. 2000-05-30 20:32:06 +00:00
Alexandre Julliard c192ba2468 Exec a separate wine binary for every win32 process so that they run
in separate address spaces.
Run 16-bit tasks as Win32 threads, not processes.
2000-05-29 21:25:10 +00:00
Huw D M Davies b8171e8baf HeapFree on a NULL ptr should return TRUE. 2000-05-23 01:12:41 +00:00
Alexandre Julliard 62030ff465 Fixed HeapAlloc(HEAP_ZERO_MEMORY) to clear the whole allocated block.
Various optimizations.
2000-05-09 22:38:19 +00:00
Alexandre Julliard 72eb8d39d4 Use exception handling to implement the IsBad* functions.
Removed /proc/self/maps parsing as it is not very useful with .so libs.
2000-05-01 21:23:02 +00:00
Alexandre Julliard 5b4f3e8d6d Rewrote Unix process launching to allow passing startup information to
Winelib apps. Improved handling of execve() failures.
2000-05-01 16:24:22 +00:00
Dimitrie O. Paun 4d48dd3048 Removed HEAP_xalloc. 2000-04-30 12:22:18 +00:00
Ove Kaaven bda3e66201 Add Wine-internal allocation type MEM_SYSTEM for VirtualAlloc to
register external mappings (like video frame buffers).
2000-04-29 16:45:56 +00:00
Alexandre Julliard f93eb3e319 Authors: Gavriel State <gavriels@corel.com>, Ulrich Czekalla <ulrichc@corel.com>
Added support for memory mapping of 4k aligned PE binaries.  This can
speed up load times significantly for some applications.
2000-04-28 20:26:35 +00:00
Dimitrie O. Paun 7827254cf2 Get rid of HEAP_xrealloc. 2000-04-28 14:43:34 +00:00
Alexandre Julliard 51f6aeb462 Implemented guard pages and stack overflow exceptions. 2000-04-13 17:21:36 +00:00
Huw D M Davies c43fdb75b3 GlobalReAlloc returns 0 on failure. 2000-04-13 15:57:06 +00:00
Andreas Mohr e7dc390f65 Implemented HeapWalk(). 2000-04-09 18:40:14 +00:00
Alexandre Julliard 227a0894d4 Removed a number of global handle allocations and critical section
initializations.
2000-04-08 21:06:06 +00:00
Patrik Stridvall 54fe8380a1 Fixed some issues reported by winapi_check. 2000-04-06 20:21:16 +00:00
Patrik Stridvall 2d6457c11a Added/fixed some documentation reported by winapi_check. 2000-03-28 20:22:59 +00:00
Francois Gouget 6d77d3a1df Use min/max instead of MIN/MAX. 2000-03-25 21:44:35 +00:00
Francois Gouget fdc1065b81 Added (correct) prototype for HeapWalk. 2000-03-24 19:44:19 +00:00
Dimitrie O. Paun 9ad9636725 Removed most calls to xmalloc/xrealloc. 2000-03-19 14:29:50 +00:00
Andreas Mohr 3c506fa36a Added an exception frame for lstrcpy16. 2000-03-19 14:20:28 +00:00
Alexandre Julliard c2ec36877a Removed PROCESS_IsCurrent(). 2000-03-10 22:21:07 +00:00
Patrik Stridvall 7e9913f463 Fixed some warnings. 2000-03-08 18:25:22 +00:00
Marcus Meissner fddbcf3c8d Actual write the cached struct in GlobalMemoryStatus. 2000-03-07 12:24:58 +00:00
Marcus Meissner 6189c198ec Some applications call GlobalMemoryStatus() very often. Cache the
results of the call for 1 second (spotted by Corel).
2000-03-04 19:19:15 +00:00
Patrik Stridvall ea4f831d99 Fixed some Solaris specific assembler problems. 2000-02-27 16:39:48 +00:00
Juergen Schmied 9f50d049ea Fixed definition of the RtlMemory functions. Use macros internally and
for Winelib, use real functions for exports from ntdll.
2000-02-26 19:35:50 +00:00
Alexandre Julliard 916f975624 Improved the selector get/set functions.
Support ANSI-compatible inline asm (with the help of Patrik Stridvall).
2000-02-26 16:51:13 +00:00
Alexandre Julliard bcb7f4ee37 Bug fix for native USER. 2000-02-19 20:51:29 +00:00
Alexandre Julliard b849d79104 Moved global atoms to the server (based on the work of Sergei
Turchanov <turchanov@otvprim.ru>).
2000-02-13 13:56:13 +00:00
Alexandre Julliard 383da68cf9 Optimized debugging API to reduce code size. 2000-02-10 22:15:21 +00:00
Jeremy White d3e22d9d55 Removed #include of wingdi.h and windef.h from winuser.h (and resolved
the resulting compilation failures).
2000-02-10 19:03:02 +00:00
Alexandre Julliard 0a7c1f6c5b Implemented GetThreadSelectorEntry through the server. 2000-01-27 02:54:17 +00:00
Alexandre Julliard 079fd72ca7 Share the system heap between different address spaces. Made process
heap per-address space instead of per-process.
2000-01-25 01:41:35 +00:00
Dmitry Timoshkov d1e3d8d841 Replaced LocalToWideChar() by lstrcpynAtoW(), WideCharToLocal() by
lstrcpynWtoA().
2000-01-23 03:21:14 +00:00
Guy Albertelli 4ef641326a Fix problems with GlobalHandle and GlobalFree so results match Win98.
Restructure HEAP_ValidateInUseArena, HeapValidate, and add
HEAP_IsRealArena to eliminate *bogus* error messages.
2000-01-23 02:25:11 +00:00
Guy Albertelli 9867997450 Added null check in GlobalHandle. 2000-01-15 21:59:12 +00:00
Francois Gouget baa9bf9a23 Buffer overflows and strncpy fixes. 1999-12-27 05:24:06 +00:00
Francois Gouget e73b8b84ba Wrapped some strings in a debugstr_* call.
Replaced some calls to debugstr_{a,w} by debugstr_{a,w}n.
Removed redundant 'L's for Unicode strings.
Tried to harmonize the traces a little bit.
1999-12-26 00:40:37 +00:00
Dimitrie O. Paun dd03cc19fd Make use of the DEFAULT_DEBUG_CHANNEL where appropriate.
Use the default version of FIXME, ERR, WARN, TRACE for the default
channel.
1999-12-08 03:56:23 +00:00
Juergen Schmied 3531ea5501 Removed fixme. 1999-11-25 23:06:51 +00:00
Alexandre Julliard d16319ce22 Store all object names as Unicode in the server. 1999-11-25 21:30:24 +00:00
Ulrich Weigand 3ee1c03efb Bugfix: GetThreadSelectorEntry() sets read-write flag incorrectly. 1999-11-21 02:02:20 +00:00
Alexandre Julliard 453f7315cd Fixed allocation rounding for MEM_RESERVE. 1999-11-15 00:46:30 +00:00
Ulrich Weigand eb94c7d2c4 Adapted to new register function handling. 1999-11-13 23:54:04 +00:00
Ulrich Weigand 0be7cabb49 When decommitting, remap zero pages using MAP_FIXED. 1999-11-10 19:59:32 +00:00
Alexandre Julliard 6cd2c9ebd5 Remap zero-pages when decomitting a page range (based on a patch by
Gerard Patel).
1999-11-08 02:12:30 +00:00
James Abbatiello 161693e4f9 Addresses issues with multiple processes accessing non-global critical
sections.
1999-11-07 19:22:46 +00:00
Michael McCormack 9fcbc54428 Modified lstrcpynWtoA to put terminating null at end of string, not
end of buffer.
1999-11-04 01:54:26 +00:00
Andreas Mohr 7d6e1ea5d7 Bug fix. 1999-10-25 15:39:59 +00:00
Patrik Stridvall 96336324cf - Added missing configuration #if:s and #includes:s.
- Minor configuration related changes.
1999-10-24 22:13:47 +00:00
Richard Cohen 63556084e6 Tidy up TRACE etc to use default channel. 1999-09-19 14:04:15 +00:00
Patrik Stridvall f4fca7c459 Eliminated warnings. 1999-09-11 16:27:20 +00:00
Alexandre Julliard 3b96efc0f7 Added configure check for str[n]casecmp. 1999-09-04 14:36:02 +00:00
Alexandre Julliard d10ca9ce46 Fixed GMEM_ZEROINIT in GlobalRealloc (thanks to Gerard Patel). 1999-09-04 11:26:56 +00:00
Ulrich Weigand 73bd8d2b1c HEAP_Commit/Decommit were assuming a page size of 4KB
unconditionally.
1999-09-03 16:45:04 +00:00
Marcus Meissner c37a126f65 Fixed prototype order. 1999-09-03 14:59:10 +00:00
Ulrich Weigand c3d9f28172 Moved implementation of WOW routines to single file.
Added all missing WOW routines, fixed WOWCallback16Ex.
1999-08-18 18:31:26 +00:00
Uwe Bonnes 0a1645d9a3 Inhibit wraparound in comparison. 1999-08-15 18:44:06 +00:00
Alexandre Julliard 7147e4cfd4 Added an exception handler around a few lstr* functions. 1999-08-08 18:52:14 +00:00
Alexandre Julliard b375678277 Changed INSTR_EmulateInstruction to use a CONTEXT86 instead of a
SIGCONTEXT.
1999-08-01 12:15:12 +00:00
Ulrich Weigand 81a8057c4e Bugfix: fixed freshly introduced bug in GlobalLock16. 1999-07-28 16:36:29 +00:00
Ulrich Weigand 98b5f77fc2 Added IsBadFlatReadWritePtr16(). 1999-07-27 17:09:14 +00:00
Ulrich Weigand b2682d4d73 Bugfix: Return selector also in CX from GlobalLock16(). 1999-07-27 16:10:24 +00:00
Ulrich Weigand b5151d003d Relay code for Win16 register functions converts arguments.
New 'interrupt' keyword added (for Win16 interrupt handlers).
Adapted .spec files and implementations of register routines.
1999-07-25 11:27:36 +00:00
Noel Borthwick 83579c8286 Fix bug with pasting Wine clipboard content to external applications,
by storing clipboard data on the shared system heap.
1999-07-24 12:18:04 +00:00
Ulrich Weigand 4b32fd0d43 Use position-independent code in assembly glue when building .so.
Include if1632/ and graphics/win16drv/ into WineLib.
Move miscemu/emulate.c into dlls/win87em/.
1999-07-15 14:51:40 +00:00
Alexandre Julliard 4220b29be9 Take advantage of the new registers saved in the STACK16FRAME to turn
some 'register' functions into normal functions.
Removed the few remaining 'return' functions to simplify relay
handling.
1999-07-11 17:20:01 +00:00
Marcus Meissner e32a317b76 Removed the old, historical and no longer working IPC support. 1999-07-11 14:13:56 +00:00
Rein Klazes eaec1eeda5 Fixed a case when GlobalSize did not return zero after an error. 1999-07-11 13:50:24 +00:00
Howard Abrams 132774804e Added checks for sys/errno.h, sys/signal.h and sys/mman.h. 1999-07-10 13:16:29 +00:00
Ulrich Weigand c5711b4689 Bugfix: correctly cope with end > 0xfffe. 1999-07-10 11:45:12 +00:00
Ulrich Weigand 8e3201c5da Bugfix: LocalInit with start == 0 always places heap at end of segment. 1999-07-03 15:37:52 +00:00
Alexandre Julliard 617955db88 Changed CONTEXT into CONTEXT86 everywhere we really want an i386
context.
Added #ifdef __i386__ around accesses to 386 registers in the generic
CONTEXT structure.
1999-06-26 18:40:24 +00:00
Patrik Stridvall 1ed4ecffa8 ANSI C fixes.
Removed warnings.
Made the include files self-sufficient.
Some Solaris fixes.
1999-06-26 14:58:24 +00:00
Alexandre Julliard ebe29ef376 Further server optimizations:
- merged request and reply structures
- build requests directly into the buffer to avoid a copy
1999-06-26 08:43:26 +00:00
Alexandre Julliard 5bc78089db Made server communication faster by using a shared memory block.
A few other optimizations in request processing in the server.
Moved automatically generated request definitions to server.h and
removed include/server/request.h.
1999-06-22 17:26:53 +00:00
Alexandre Julliard c42dfdd02f Fixed Winelib compilation. 1999-06-20 15:09:32 +00:00
Alexandre Julliard 9597e209f8 Include instruction emulation in Winelib. 1999-06-18 18:29:04 +00:00
Patrik Stridvall fdcfdb9a6d Added missing/wrong includes. 1999-06-12 14:55:11 +00:00
Alexandre Julliard 1aa2641636 Use the normal environment routines to build the env db of the initial
process.
1999-06-11 18:33:46 +00:00
Alexandre Julliard 156570906f Converted to the new debug interface, using script written by Patrik
Stridvall.
1999-05-23 10:25:25 +00:00
Alexandre Julliard 43c190e7ba Server reorganization:
- moved request handlers to the specific C files
- moved handle management to handle.c
- moved server private includes to server/ instead of include/server/
1999-05-15 10:48:19 +00:00
Alexandre Julliard 0a277b638c Adapted for new register functions support (ESP_reg in register
functions now points after the arguments).
1999-05-13 16:21:37 +00:00
Patrik Stridvall 896889f317 ANSI C fixes. 1999-05-08 12:50:36 +00:00
Alexandre Julliard 06c275a643 Converted to the new debugging interface (done with the help of the
script written by Patrik Stridvall).
1999-05-02 14:32:27 +00:00
Huw D M Davies d38ae1f79b Call SetLastError in HeapCompact(). 1999-05-02 11:27:14 +00:00
Alexandre Julliard b6b8bf83a0 Fixed __builtin_return_address arg. 1999-04-25 19:04:42 +00:00
Patrik Stridvall a9a671d7ca Fixed ANSI compabillity. 1999-04-25 19:01:52 +00:00
Patrik Stridvall c7a8dde118 #pragma pack(?) changed to #include "*pack*.h" 1999-04-25 12:36:53 +00:00
Ove Kaaven 2d12743706 Made HeapValidate threadsafe, and added some macros to track callerEIP
a little better.
Added HEAP_xrealloc.
1999-04-25 09:09:15 +00:00
Michael Veksler ff5ae3dd65 Removed some includes of 16 bit API. 1999-04-22 15:26:11 +00:00
Patrik Stridvall b4b9fae671 New debug scheme with explicit debug channels declaration. 1999-04-19 14:56:29 +00:00
Bertho Stultiens c1d1cfe976 Reorganization of the loader to correctly load and free libraries and
implementation of load order to load different types of libraries.
1999-04-18 12:14:06 +00:00
Alexandre Julliard 284c9b923a Made SELECTOR_ReallocBlock preserve the current selector access rights
(problem reported by Andreas Mohr).
1999-04-11 15:07:13 +00:00
Dimitrie O. Paun 05c0c8ef13 Changed some debug messages from one channel to another, to clean up a
bit the debug channel usage.
1999-03-28 15:07:41 +00:00
Andreas Mohr 942d8a69bd lstrcpyA can't use strcpy. 1999-03-22 14:59:29 +00:00
Alexandre Julliard 34bf815822 Got rid of SYSTEM_LOCK macros. 1999-03-21 08:36:55 +00:00
Alexandre Julliard ec5b68e5f0 Make the system heap critical section global. 1999-03-14 16:20:13 +00:00
Gerard Patel 1dc7cbd965 Fix OemToAnsiBuff for real Win31 behavior. 1999-03-14 15:06:16 +00:00
Marcus Meissner fe14ab6183 CreateFileMapping SetLastError(0)s on newly created mappings. 1999-03-09 17:26:49 +00:00
Marcus Meissner 064f170f76 More include optimisations and fixes. 1999-02-28 19:14:33 +00:00
Alexandre Julliard 96c08d817c Use server handles directly for Win32 handles. Removed use of K32OBJ. 1999-02-28 13:27:56 +00:00
Alexandre Julliard cb28bdc2c8 Added support for mappings with no associated file. 1999-02-28 10:13:59 +00:00
Alexandre Julliard a396029270 Large-scale renaming of all Win32 functions and types to use the
standard Windows names.
1999-02-26 11:11:13 +00:00
Marcus Meissner 219cfd8387 Optimized away more includes, readded some #includes for necessary
prototypes.
1999-02-24 13:05:13 +00:00
Alexandre Julliard d6cb784269 Removed MEM_MAPPED_FILE_Ops. 1999-02-21 18:28:40 +00:00
Marcus Meissner 4ede296356 Change "g" (general regs) into "r" (hardregs) in clone / modify_ldt /
wine_sigaction __PIC__ cases, since "g" will not work with
-fomit-frame-pointer ("g" is referenced using %esp which was
invalidated before). Bug found and (other) fix suggested by
<daniel@mat.utfsm.cl> Daniel Serpell.
1999-02-21 18:18:42 +00:00
Marcus Meissner 04c3e1d456 Removed a lot of occurences of windows.h (and added necessary other
includes).
1999-02-19 10:37:02 +00:00
Marcus Meissner 317af320cf Optimized include/*.h: (recursively) include all headers needed by
this .h file, but only those. Necessary fixes to a lot of .c files,
started optimizing "windows.h" away from some of them. Moved
GetCurrentTask prototype to wine/winbase16.h.
1999-02-17 13:51:06 +00:00
Uwe Bonnes 29a96e1e0d Change type of mode argument to GETVDMPOINTER32W from DWORD to Word 1999-02-17 10:20:30 +00:00
Guy Albertelli 3db8e19d22 Fixed GlobalSize return value for zero size block. 1999-02-14 17:38:24 +00:00
Ulrich Weigand 4f85bad39e Change fault handler 'addr' argument to LPCVOID. 1999-02-09 15:30:22 +00:00
Ulrich Weigand 90c245cdbf Bugfix: Preserve EAX in UnMapSLFixArray(). 1999-02-02 10:34:46 +00:00
Ulrich Weigand 16bdc256b9 Implemented KERNEL.434 (UnicodeToAnsi). 1999-02-02 10:27:31 +00:00
Alexandre Julliard 0ad42fa789 Added a lot of new error definitions. 1999-01-31 15:04:42 +00:00
Marcus Meissner a6af1f76a8 Check for NULL in lstrcpy* (Windows uses real exception handlers). 1999-01-30 15:48:18 +00:00
Marcus Meissner 12e2d838a1 Fixed FILE_VIEW struct initialisation. 1999-01-28 17:35:36 +00:00
Alexandre Julliard 62a8b43301 Hacked server-side device support
Added user APCs support.
Many changes to the xterm console to make use of the server (not
finished yet).
Moved some other small stuff to the server.
1999-01-19 17:48:23 +00:00
Alexandre Julliard 638f169b1e Recovery of release 990110 after disk crash.
See Changelog for changes between 990103 and 990110.
1999-01-17 16:32:32 +00:00
Alexandre Julliard 74304fc31c Fixed bug in CreateFileMapping when name is not NULL. 1999-01-02 08:22:34 +00:00
Richard A Lough 13cec5ebfa Put return value of LocalAlloc in CX too. 1999-01-01 19:51:25 +00:00
Alexandre Julliard 881708cc2d Use server file mapping objects. 1999-01-01 17:01:18 +00:00
Alexandre Julliard 55443878fc Removed client-side wait functions; all waiting is now done through
the server.
1998-12-31 15:52:06 +00:00
Alexandre Julliard 338e757d08 Added beginnings of server-side file handling.
Added -debugmsg +server support.
Better server request dumping for varargs requests.
1998-12-27 15:28:54 +00:00
Alexandre Julliard 0c0e3bebb8 Authors: Francis Beaudet <francis@macadamian.com>, Sylvain St-Germain <sylvain@macadamian.com>, Thuy Nguyen <thuy@macadamian.com>
Lots of new stubs.
1998-12-10 15:49:22 +00:00
Andreas Mohr a00b49f068 - Several kernel.spec return type mismatch fixes
- [GS]etSelectorBase Win32s offset support by Ulrich Weigand (thanks v.m. !!)
- Move AppToWine/WineToApp macros as W32S_APP2WINE etc. to ldt.h
- LocalNotify() basic support
- Fixes for local heap handling with heap handles created by Virtual*()
1998-12-07 10:48:09 +00:00
Marcus Meissner 88065baf13 Handle atoms "# non number" (oracle client). 1998-12-02 10:00:48 +00:00
Ulrich Weigand 23e9b04094 Implemented GlobalChangeLockCount (KERNEL.365). 1998-12-01 15:19:54 +00:00
Ulrich Weigand 416d39e7c4 Implemented Local32Info, stubs for Local32First/Next (KERNEL.444-446). 1998-12-01 14:45:37 +00:00
Stephen Crowley 59c4a32f90 Return the "buffers" and "cached" memory as free since it is
deallocated when a program needs it anyway.
1998-11-24 20:41:02 +00:00
Ulrich Weigand afda9a3a24 Bugfix: typo in SUnMapLS_IP_EBP_8 lead to stack corruption. 1998-11-22 15:06:01 +00:00
Alexandre Julliard 737fa07db7 Small atom fixes. 1998-11-15 17:29:15 +00:00