Commit graph

34180 commits

Author SHA1 Message Date
Michael Martin f082d72190 - As per http://msdn.microsoft.com/en-us/library/ms802952.aspx, call ExDoCallBack with correct parameters.
svn path=/trunk/; revision=38222
2008-12-21 05:08:18 +00:00
KJK::Hyperion 77911bbdee modified include/reactos/wine/exception.h
Farewell Wine exception handling macros. You won't be missed

modified   dll/win32/icmp/icmp_main.c
   Removed gratuitous use of _getpid
   Winsock APIs don't set errno, they set the last error
   As a consequence, icmp.dll no longer depends on msvcrt.dll

modified   tools/rbuild/module.cpp
   Link DLLs to ntdll's CRT instead of msvcrt's by default (most DLLs don't actually need msvcrt)

Everything else:
   Set crt attribute of <module> to "msvcrt" if ntdll isn't good enough
   Link to pseh if necessary

svn path=/trunk/; revision=38221
2008-12-21 03:58:19 +00:00
Timo Kreuzer 0cbe39b8da Use "C" interface for intrinsic functions to avoid problems with C++. Fix _rotr and _rotl.
svn path=/trunk/; revision=38220
2008-12-21 03:22:17 +00:00
Timo Kreuzer 420cb2282d Include io.h. It's needed and was implicitly included so far. But that'll be soon gone.
svn path=/trunk/; revision=38219
2008-12-21 03:15:46 +00:00
Timo Kreuzer d83c08fa82 Don't use sys/time.h
svn path=/trunk/; revision=38218
2008-12-21 03:12:09 +00:00
Timo Kreuzer a331c8e11b Avoid using non-standard names (S_IFITO, ...).
svn path=/trunk/; revision=38217
2008-12-21 02:51:14 +00:00
Timo Kreuzer 879c57d63c use _wcsicmp instead of non-standard wcscmpi
svn path=/trunk/; revision=38216
2008-12-21 02:40:09 +00:00
Timo Kreuzer 9f0e740e7a revert 38201 and 38203 due to regressions
svn path=/trunk/; revision=38215
2008-12-21 02:27:44 +00:00
Timo Kreuzer 9432c31eba Fix definition of EMRCREATECOLORSPACE and EMRPOLYXXX, should fix a bunch of winetests.
svn path=/trunk/; revision=38214
2008-12-21 01:45:13 +00:00
Cameron Gutman ed4682a617 - Merge aicom-network-fixes up to r38205
svn path=/trunk/; revision=38213
2008-12-21 01:29:35 +00:00
Jeffrey Morlan 5c760c2d22 widl: Don't assume that host void* is the same size as target void*
svn path=/trunk/; revision=38212
2008-12-21 00:43:56 +00:00
Timo Kreuzer 2f7e224584 add _tcscpy_s and _tsplitpath_s
svn path=/trunk/; revision=38211
2008-12-21 00:22:15 +00:00
KJK::Hyperion ae3a2aacc2 modified dll/win32/gdi32/gdi32.rbuild
modified   dll/win32/kernel32/kernel32.rbuild
modified   dll/win32/user32/user32.rbuild
   Inexplicably missed the "big three" in r37187. Don't link msvcrt in core Win32 DLLs, for real this time

modified   dll/win32/user32/misc/dllmain.c
   Don't use wcstok. Removes the dependency on msvcrt

svn path=/trunk/; revision=38210
2008-12-21 00:13:08 +00:00
Timo Kreuzer 103afbc4a7 Don't redefine _tcscpy_s and _tsplitpath_s
svn path=/trunk/; revision=38209
2008-12-20 23:55:05 +00:00
KJK::Hyperion e5a9f1615f modified lib/pseh/framebased-gcchack.c
modified   lib/pseh/i386/framebased-gcchack.S
   For some reason, "call _RtlUnwind@16" is being linked as "call 0" (very likely a linker bug). Reimplementing _SEH2GlobalUnwind in C and taking the address of RtlUnwind from C code seems to work
   Annotate functions implemented in assembler with .func/.endfunc, so the symbols are more correct

svn path=/trunk/; revision=38208
2008-12-20 23:27:17 +00:00
Timo Kreuzer aaf7ad6a2b define _INTEGRAL_MAX_BITS only if it was not already defined
svn path=/trunk/; revision=38207
2008-12-20 23:16:49 +00:00
Timo Kreuzer eced695a85 Update ETO constants
svn path=/trunk/; revision=38206
2008-12-20 22:47:24 +00:00
Timo Kreuzer 54831b15db TextOut functions take a character count, not a byte count. Rename cb to cch.
svn path=/trunk/; revision=38204
2008-12-20 21:19:43 +00:00
Timo Kreuzer 869fc7ead9 Handle ETO_PDY more correctly (dy values still ignored)
svn path=/trunk/; revision=38203
2008-12-20 21:01:14 +00:00
Kamil Hornicek 3e2f6025fc - add check for NULL pointer, "first" is NULL for folders, files without extension etc. see bug 3959
See issue #3959 for more details.

svn path=/trunk/; revision=38202
2008-12-20 20:48:08 +00:00
Timo Kreuzer 98a6b82bc5 When fuOptions has ETO_PDY specified, the DxBuffer in NtGdiExtTextOutW consists of pairs of INTs, thus the Buffer must be twice as big. (Thanks to aspotashev for locating the problem) MmCopyToCaller -> SEH2. Allocate only one buffer for the string and the Dx values.
See issue #3958 for more details.

svn path=/trunk/; revision=38201
2008-12-20 20:38:23 +00:00
Timo Kreuzer 93d4ecb9e8 [FORMATTING]
Fix indentation. No code change.

svn path=/trunk/; revision=38199
2008-12-20 19:43:11 +00:00
Stefan Ginsberg 35568f58b0 - Revert 38116 -- the SEH issues should be gone now
svn path=/trunk/; revision=38198
2008-12-20 13:48:35 +00:00
KJK::Hyperion e6f465bb78 Supersedes r38084. Take three
modified   include/reactos/libs/pseh/pseh2.h
modified   lib/pseh/framebased-gcchack.c
modified   lib/pseh/i386/framebased-gcchack.S
   Disassemble trampolines in the library, instead of the macros. Results in better, smaller code. As a side effect, PSEH no longer requires a trampoline for nested functions - which results in even better, even smaller code in many common cases where the nested functions don't use any variables from the containing function
   Simulate a no-op setjmp so that GCC correctly handles variables in registers, instead of surprise-corrupting random variables in random conditions
   Save EBP and ESP every time a _SEH2_TRY/_SEH2_EXCEPT is entered, instead of only the first time. Probably not entirely correct yet
   Don't generate a nested function for a _SEH2_EXCEPT() filter expression if the value is a compile-time constant: convert the value to (void *)0, (void *)1 or (void *)-1, and set that as the filter, instead (like Visual C++ does, incidentally)
   If a _SEH2_EXCEPT() filter expression is a compile-time constant evaluating to EXCEPTION_CONTINUE_EXECUTION or EXCEPTION_CONTINUE_SEARCH, allow GCC to optimize out the body of the _SEH2_EXCEPT (because it'd be unreachable). This should really result in a compile-time warning, but #pragma message is unsupported in GCC 4.1.3
   Let _SEH2_EXCEPT() accept a comma expression as filter expression (e.g. _SEH2_EXCEPT(MessageBox(...), EXCEPTION_EXECUTE_HANDLER) instead of _SEH2_EXCEPT((MessageBox(...), EXCEPTION_EXECUTE_HANDLER)))
   Small optimizations in PSEH library
   Clean up GCC hacks
   Remove currently unused PSEH 3 hacks

svn path=/trunk/; revision=38197
2008-12-20 13:05:57 +00:00
Dmitry Gorbachev 5866c97424 - Do not use pGlobalData after freeing,
- do not load color spectrum bitmaps if no adapter found,
- do not use HEAP_ZERO_MEMORY, use memset(),
- check SelectObject() result,
- fix indentation.

svn path=/trunk/; revision=38196
2008-12-20 11:06:21 +00:00
Johannes Anderwald 7b6fe6680a - Fix parameters for CreateService
svn path=/trunk/; revision=38195
2008-12-20 10:09:25 +00:00
Dmitry Chapyshev 78ef81691e - Fix all wine tests for MoveFileA/W
svn path=/trunk/; revision=38194
2008-12-20 10:08:11 +00:00
Andrew Munger 2873eff0cb Null dereference FTL.
svn path=/trunk/; revision=38193
2008-12-20 09:30:12 +00:00
Dmitry Chapyshev 145ffd10f1 - Formatting fix
svn path=/trunk/; revision=38192
2008-12-20 08:07:10 +00:00
Dmitry Chapyshev 6fadfd9daf - Fix 2 winetests
svn path=/trunk/; revision=38191
2008-12-20 08:02:25 +00:00
Timo Kreuzer b412cbd236 - fix _STATIC_ASSERT
- fix indentation
- move some headers from crt/ming to crt

svn path=/trunk/; revision=38190
2008-12-19 23:34:20 +00:00
James Tabor 6a59679c8e - Properly implement LookupIconIdFromDirectoryEx.
- Remove hack for GetDeviceCaps.
- This fixes one part of the Win32k Initialization Bug. If this change creates a problem some where else, the problem is not in this change. 

svn path=/trunk/; revision=38189
2008-12-19 22:33:11 +00:00
Timo Kreuzer 2b40f401d6 enable GetTimeZoneInformation in _getsystime
svn path=/trunk/; revision=38188
2008-12-19 19:57:21 +00:00
Timo Kreuzer ecae93aaa2 add DECLSPEC_SELECTANY
svn path=/trunk/; revision=38187
2008-12-19 18:39:32 +00:00
Timo Kreuzer fb37c99b05 NtGdiGetFontUnicodeRanges:
- Don't probe the safe buffer, but the usermode buffer

svn path=/trunk/; revision=38186
2008-12-19 18:16:04 +00:00
Gregor Schneider f45ee646df - Update fputwc implementation to current wine sources
- Fixes 23 msvcrt file winetests

svn path=/trunk/; revision=38185
2008-12-19 16:57:48 +00:00
Gregor Schneider 855ea53e48 - Fix return values for fputc and _flsbuf: return only one char
- Fixes three msvcrt file winetests

svn path=/trunk/; revision=38184
2008-12-19 11:39:04 +00:00
Timo Kreuzer fd478ccca5 Zero the last character in lfFaceName when converting a LOGFONT from A to W or vice versa. Fixes 1 gdi32_winetest font.
DPRINT1 -> DPRINT

svn path=/trunk/; revision=38183
2008-12-19 00:12:43 +00:00
Gregor Schneider 23eb0e8a4a - Remove static qualifier from g_mbcp_is_multibyte variable (locale.c) to allow external reference
- Update _mbccpy, _mbsncpy and _mbsnbcpy, so that they handle leading bytes correctly
- Fixes 6 of 7 failing msvcrt string winetests, the remaining failure is related to memcpy behavior

svn path=/trunk/; revision=38182
2008-12-18 22:06:07 +00:00
Gregor Schneider 5fe4b4b425 - Update _mbclen, mblen, _mbslen, _mbsnextc and _mbstrlen which should rely on the leadbyte mechanism
- Fixes 9 msvcrt string tests, 7 failures tbd
- Remove leftover function declaration from ismblead.c

svn path=/trunk/; revision=38181
2008-12-18 21:17:22 +00:00
James Tabor 589af34558 - From SDK, LD_ flags.
svn path=/trunk/; revision=38180
2008-12-18 20:59:12 +00:00
Jeffrey Morlan 220378c764 VfatSetAllocationSizeInformation: The fast code for extending the size of a non-empty file did have a bug in that it didn't always set Fcb->LastCluster/Fcb->LastOffset but the OffsetToCluster call was made assuming that it did. However, the code that replaced it had a bug as well, in that it did not set Cluster to the original final cluster like the error handling code expected, so it would crash when out of disk space. Bringing back the fast code, but with its bug fixed.
svn path=/trunk/; revision=38179
2008-12-18 20:47:20 +00:00
Gregor Schneider 9b0331478f - Update _mbsbtype and _mbsninc functions
- Fixes 17 msvcrt string tests, 16 to go

svn path=/trunk/; revision=38178
2008-12-18 20:26:57 +00:00
Gregor Brunmar 101cb70315 Implemented IDirect3DDevice9::GetRasterStatus()
svn path=/trunk/; revision=38177
2008-12-18 19:48:17 +00:00
Gregor Schneider b34362b5a5 - Close registry key handle of both RegQueryValueEx calls fail. I don't see anything else leaking.
svn path=/trunk/; revision=38176
2008-12-18 19:38:01 +00:00
Gregor Brunmar 36ac3e9c57 Implemented IDirect3DDevice9::GetGammaRamp()
svn path=/trunk/; revision=38175
2008-12-18 19:29:49 +00:00
Gregor Brunmar 1cc6243d5e Implemented IDirect3DDevice9::CreateAdditionalSwapChain()
svn path=/trunk/; revision=38174
2008-12-18 19:08:17 +00:00
Gregor Schneider 1c8d9a1277 - Remove duplicate harcoded _mbctype, rename MSVCRT_mbctype to fit the new role
- Update related functions _ismbblead, _ismbslead, _ismbbtrail, _ismbstrail to use Wine _mbctype indexing
- Fixes 28 msvcrt string tests, 33 left
- Minor header updates

svn path=/trunk/; revision=38173
2008-12-18 18:58:43 +00:00
Dmitry Chapyshev 10ffe93130 - Revert r37085. It fix work kbswitch, but I think, that somewhere (in kbswitch) there is a memory leak. Help somebody to find it
svn path=/trunk/; revision=38172
2008-12-18 12:32:46 +00:00
Christoph von Wittich f74a13b345 GENERIC_WRITE is required to flush the input buffer
svn path=/trunk/; revision=38171
2008-12-18 12:32:32 +00:00