12 years agoFix spurious warning/error reported by GCC 4.4.0.
Dmitry Gorbachev [Mon, 22 Dec 2008 23:46:23 +0000 (23:46 +0000)]
Fix spurious warning/error reported by GCC 4.4.0.

svn path=/trunk/; revision=38287

12 years agoDo not pop and push the same reg.
Dmitry Gorbachev [Mon, 22 Dec 2008 23:44:15 +0000 (23:44 +0000)]
Do not pop and push the same reg.

svn path=/trunk/; revision=38286

12 years agoDefine __MINGW_MSC_PREREQ() macro,
Dmitry Gorbachev [Mon, 22 Dec 2008 23:43:10 +0000 (23:43 +0000)]
Define __MINGW_MSC_PREREQ() macro,
build failed with GCC 4.4.0 without it.

svn path=/trunk/; revision=38285

12 years agodon't define strcasecmp to strcmp, use _stricmp, and define strcasecmp to _strnicmp.
Timo Kreuzer [Mon, 22 Dec 2008 23:35:35 +0000 (23:35 +0000)]
don't define strcasecmp to strcmp, use _stricmp, and define strcasecmp to _strnicmp.

svn path=/trunk/; revision=38284

12 years agoReplace deprectaed function (unlink, stricmp) with new ones (_unlink, _stricmp)
Timo Kreuzer [Mon, 22 Dec 2008 23:24:18 +0000 (23:24 +0000)]
Replace deprectaed function (unlink, stricmp) with new ones (_unlink, _stricmp)

svn path=/trunk/; revision=38283

12 years agouse _str(n)icmp instead of non-standard str(n)casecmp
Timo Kreuzer [Mon, 22 Dec 2008 23:11:21 +0000 (23:11 +0000)]
use _str(n)icmp instead of non-standard str(n)casecmp

svn path=/trunk/; revision=38282

12 years agoUse _getch instead of deprecated getch
Timo Kreuzer [Mon, 22 Dec 2008 22:58:41 +0000 (22:58 +0000)]
Use _getch instead of deprecated getch

svn path=/trunk/; revision=38281

12 years ago- Make IF command a special form; necessary to make nested multi-line IF blocks work...
Jeffrey Morlan [Mon, 22 Dec 2008 22:34:51 +0000 (22:34 +0000)]
- Make IF command a special form; necessary to make nested multi-line IF blocks work properly
- Implement IF /I option, IF CMDEXTVERSION, and generic comparisons (EQU etc)
- Make IF ERRORLEVEL return true if the errorlevel is greater than the number
- Remove hacked support for multi-line IF blocks from batch.c

svn path=/trunk/; revision=38280

12 years agoRemove all stuff that is either already defined in crtdefs.h or doesn't belong in...
Timo Kreuzer [Mon, 22 Dec 2008 20:59:56 +0000 (20:59 +0000)]
Remove all stuff that is either already defined in crtdefs.h or doesn't belong in the header, based on what ms defines.

svn path=/trunk/; revision=38279

12 years agoDon't use wine's headers and wintrnl.h for exception handling in crt. Instead include...
Timo Kreuzer [Mon, 22 Dec 2008 20:32:47 +0000 (20:32 +0000)]
Don't use wine's headers and wintrnl.h for exception handling in crt. Instead include ndk and add the few definitions we need to cppexcept.h

svn path=/trunk/; revision=38278

12 years ago- Add reactos/wine/sys/types.h compatibility header
Timo Kreuzer [Mon, 22 Dec 2008 20:28:26 +0000 (20:28 +0000)]
- Add reactos/wine/sys/types.h compatibility header
- winspool: add reactos/wine to include folders

svn path=/trunk/; revision=38277

12 years agoAdd ssize_t to rosdhcp.h, as ms crt headers (and so our future crt headers) don't...
Timo Kreuzer [Mon, 22 Dec 2008 20:25:44 +0000 (20:25 +0000)]
Add ssize_t to rosdhcp.h, as ms crt headers (and so our future crt headers) don't define it.

svn path=/trunk/; revision=38276

12 years ago- Less hack, more assert
Stefan Ginsberg [Mon, 22 Dec 2008 19:55:23 +0000 (19:55 +0000)]
- Less hack, more assert

svn path=/trunk/; revision=38275

12 years agoBuild MP kernel/hal by default
Timo Kreuzer [Mon, 22 Dec 2008 19:22:23 +0000 (19:22 +0000)]
Build MP kernel/hal by default

svn path=/trunk/; revision=38274

12 years ago- Re-enable some Winetests now that Cm sucks less
Stefan Ginsberg [Mon, 22 Dec 2008 18:48:06 +0000 (18:48 +0000)]
- Re-enable some Winetests now that Cm sucks less
- Add missing ROS-HACK tag

svn path=/trunk/; revision=38273

12 years ago- Fix registry lock leakages in CmpDoOpen in failure cases.
Aleksey Bragin [Mon, 22 Dec 2008 18:47:38 +0000 (18:47 +0000)]
- Fix registry lock leakages in CmpDoOpen in failure cases.
- Add support for a special case of opening existing (cached) KCBs by CmpDoOpen.
- Specify a flag for that case in one specific case inside CmpParseKey, which allows us to get rid of the "\\REGISTRY" hack inside the code, fixes the 'Kcb->RefCount == 1' assertion failure, and certainly fixes registry-related regression tests. There might be some side effects in theory, but since this hack only applied to the root key, they shouldn't happen. Thanks to Stefan for helping in debugging and a testcase.

svn path=/trunk/; revision=38272

12 years ago- Add control flags for CmpDoOpen, CmpCreateKey and CmpUnloadKey.
Aleksey Bragin [Mon, 22 Dec 2008 18:17:23 +0000 (18:17 +0000)]
- Add control flags for CmpDoOpen, CmpCreateKey and CmpUnloadKey.
- Add CmUnloadKey prototype.

svn path=/trunk/; revision=38271

12 years agoIntroduce new config flag BUILD_MP. Compile MP kernel and hal only when this is set...
Timo Kreuzer [Mon, 22 Dec 2008 15:23:08 +0000 (15:23 +0000)]
Introduce new config flag BUILD_MP. Compile MP kernel and hal only when this is set to 1 to save us some time and space.

svn path=/trunk/; revision=38270

12 years ago- Fix KCB ref leaks in Cm parse routine (thanks Stefan).
Aleksey Bragin [Mon, 22 Dec 2008 13:35:08 +0000 (13:35 +0000)]
- Fix KCB ref leaks in Cm parse routine (thanks Stefan).

svn path=/trunk/; revision=38269

12 years agofix another instance of _STATIC_ASSERT
Timo Kreuzer [Mon, 22 Dec 2008 06:37:53 +0000 (06:37 +0000)]
fix another instance of _STATIC_ASSERT

svn path=/trunk/; revision=38267

12 years agoMove all stuff from _mingw.h to crtdefs.h that belongs there. Get rid off MINGW_IMPORT
Timo Kreuzer [Mon, 22 Dec 2008 05:55:21 +0000 (05:55 +0000)]
Move all stuff from _mingw.h to crtdefs.h that belongs there. Get rid off MINGW_IMPORT

svn path=/trunk/; revision=38266

12 years agoIf ETO_PDY is specified, Dx is a pair of INTs, make sure we access the correct index.
Timo Kreuzer [Mon, 22 Dec 2008 04:26:51 +0000 (04:26 +0000)]
If ETO_PDY is specified, Dx is a pair of INTs, make sure we access the correct index.
based on aspotashev's patch. Should fix bug #3958
See issue #3958 for more details.

svn path=/trunk/; revision=38262

12 years agoSome people were thinking they could use NtGdiExtTextOut from within Win32k and get...
Timo Kreuzer [Mon, 22 Dec 2008 03:58:04 +0000 (03:58 +0000)]
Some people were thinking they could use NtGdiExtTextOut from within Win32k and get away with it. Since MmCopyFromCaller is broken, it was actually working. Implement NtGdiExtTextOutW as a wrapper around the real function, that is now called GreExtTextOutW, using the naming style that ms also uses to get some more stucture in here. Also get rid of 2 pool allocations and use only one if a local buffer is not sufficient. Should get us more TextOut performance.

svn path=/trunk/; revision=38261

12 years ago- Start populating server information structure. This fixes the icon issues with...
James Tabor [Mon, 22 Dec 2008 02:52:47 +0000 (02:52 +0000)]
- Start populating server information structure. This fixes the icon issues with other languages.

svn path=/trunk/; revision=38258

12 years ago- More hack
Stefan Ginsberg [Sun, 21 Dec 2008 23:42:08 +0000 (23:42 +0000)]
- More hack

svn path=/trunk/; revision=38256

12 years agoInclude crtdefs.h instead of _mingw.h in the crt headers (like ms does), so only...
Timo Kreuzer [Sun, 21 Dec 2008 23:33:19 +0000 (23:33 +0000)]
Include crtdefs.h instead of _mingw.h in the crt headers (like ms does), so only one header left (crtdefs.h) that includes a non-standard header

svn path=/trunk/; revision=38255

12 years ago- Disable shell32 execute tests
Stefan Ginsberg [Sun, 21 Dec 2008 23:16:59 +0000 (23:16 +0000)]
- Disable shell32 execute tests
- Add missing ole32 diff

svn path=/trunk/; revision=38254

12 years ago- Skip a buck load of ole32 tests too
Stefan Ginsberg [Sun, 21 Dec 2008 22:58:10 +0000 (22:58 +0000)]
- Skip a buck load of ole32 tests too

svn path=/trunk/; revision=38253

12 years agoUpdate excpt.h, fcntl.h, float.h, math.c, mbctype.h, setjmp.h, share.h, stddef.h...
Timo Kreuzer [Sun, 21 Dec 2008 22:43:46 +0000 (22:43 +0000)]
Update excpt.h, fcntl.h, float.h, math.c, mbctype.h, setjmp.h, share.h, stddef.h, stdio.h, stdlib.h, string.h, wchar.h from ming64
- fix __p__mbctype()
- add some stuff to wine/exception.h that was formerly in except.h, but doesn't belong there
- inlcude intrin.h from _mingw.h

svn path=/trunk/; revision=38252

12 years ago- Skip port tests due to missing kernel support
Stefan Ginsberg [Sun, 21 Dec 2008 22:34:32 +0000 (22:34 +0000)]
- Skip port tests due to missing kernel support

svn path=/trunk/; revision=38251

12 years ago- Hack away a whole load of msi tests, because Cm sucks
Stefan Ginsberg [Sun, 21 Dec 2008 22:19:03 +0000 (22:19 +0000)]
- Hack away a whole load of msi tests, because Cm sucks

svn path=/trunk/; revision=38250

12 years ago- Hack away kernel32 pipe tests -- ros' npfs is in a sad, sorry state
Stefan Ginsberg [Sun, 21 Dec 2008 21:52:28 +0000 (21:52 +0000)]
- Hack away kernel32 pipe tests -- ros' npfs is in a sad, sorry state
- Also skip process console tests (what's that you say? I am a lazy, hacky person? Couldn't agree more)

svn path=/trunk/; revision=38249

12 years ago- Use the specified timeout when reading from a mailslot
Stefan Ginsberg [Sun, 21 Dec 2008 20:52:31 +0000 (20:52 +0000)]
- Use the specified timeout when reading from a mailslot

svn path=/trunk/; revision=38248

12 years ago- Revert 38233 as it kills dhcp.exe
Stefan Ginsberg [Sun, 21 Dec 2008 20:35:19 +0000 (20:35 +0000)]
- Revert 38233 as it kills dhcp.exe

svn path=/trunk/; revision=38247

12 years agomodified include/reactos/libs/pseh/pseh2.h
KJK::Hyperion [Sun, 21 Dec 2008 19:51:09 +0000 (19:51 +0000)]
modified   include/reactos/libs/pseh/pseh2.h
   The return_twice and always_inline attributes don't mix: dump _SEH2PretendSetjmp, mark _SEH2EnterFrame as returns_twice (i.e. setjmp-like) instead, piggybacking the pretend-setjmp annotation on a function that's always called anyway. This ACTUALLY ensures GCC won't put variables in registers that might be clobbered by a SEH catch - at nearly no cost in binary code size and complexity

svn path=/trunk/; revision=38246

12 years ago- Missed PCACTIVATION_CONTEXT_BASIC_INFORMATION in last commit
Stefan Ginsberg [Sun, 21 Dec 2008 19:42:23 +0000 (19:42 +0000)]

svn path=/trunk/; revision=38245

Stefan Ginsberg [Sun, 21 Dec 2008 19:37:18 +0000 (19:37 +0000)]

svn path=/trunk/; revision=38244

12 years agoRemove superfluous dependencies on msvcrt
KJK::Hyperion [Sun, 21 Dec 2008 18:21:56 +0000 (18:21 +0000)]
Remove superfluous dependencies on msvcrt

svn path=/trunk/; revision=38243

12 years ago- Uhm...don't pool free user handles, and don't hand them to ObDereferenceObject
Stefan Ginsberg [Sun, 21 Dec 2008 18:16:12 +0000 (18:16 +0000)]
- Uhm...don't pool free user handles, and don't hand them to ObDereferenceObject

svn path=/trunk/; revision=38242

12 years agoAdd some headers from mingw64
Timo Kreuzer [Sun, 21 Dec 2008 18:11:53 +0000 (18:11 +0000)]
Add some headers from mingw64

svn path=/trunk/; revision=38241

12 years agoinclude time.h instead of sys/time.h
Timo Kreuzer [Sun, 21 Dec 2008 18:01:57 +0000 (18:01 +0000)]
include time.h instead of sys/time.h

svn path=/trunk/; revision=38240

12 years agoAdd __WINESRC__ define amd reactos/wine include path to libwine. This will be needed...
Timo Kreuzer [Sun, 21 Dec 2008 18:00:49 +0000 (18:00 +0000)]
Add __WINESRC__ define amd reactos/wine include path to libwine. This will be needed later, when the crt header files are cleaned up.

svn path=/trunk/; revision=38239

12 years agoFix definition of _assert()
Timo Kreuzer [Sun, 21 Dec 2008 17:51:00 +0000 (17:51 +0000)]
Fix definition of _assert()

svn path=/trunk/; revision=38238

12 years agoremove struct timezone from time.h, always declare __tzset(), revert changes from...
Timo Kreuzer [Sun, 21 Dec 2008 17:26:39 +0000 (17:26 +0000)]
remove struct timezone from time.h, always declare __tzset(), revert changes from 38052 to ftp.

svn path=/trunk/; revision=38237

12 years agoUse _wcsicmp instead of non-standard wcsicmp
Timo Kreuzer [Sun, 21 Dec 2008 16:58:56 +0000 (16:58 +0000)]
Use _wcsicmp instead of non-standard wcsicmp

svn path=/trunk/; revision=38236

12 years ago- Hack skipping mapping tests too *sigh*
Stefan Ginsberg [Sun, 21 Dec 2008 16:57:34 +0000 (16:57 +0000)]
- Hack skipping mapping tests too *sigh*

svn path=/trunk/; revision=38235

12 years agoAdd prototype for __globallocalestatus, it's going to be removed from crt headers...
Timo Kreuzer [Sun, 21 Dec 2008 16:55:29 +0000 (16:55 +0000)]
Add prototype for __globallocalestatus, it's going to be removed from crt headers later.

svn path=/trunk/; revision=38234

12 years ago- Preform the if (!Adapter) check before setting adapter to 0. Fixes Debug message...
Michael Martin [Sun, 21 Dec 2008 16:36:03 +0000 (16:36 +0000)]
- Preform the if (!Adapter) check before setting adapter to 0. Fixes Debug message reporting that the adapter was rejected.

svn path=/trunk/; revision=38233

12 years ago- Make advapi32 Winetest do a basic check instead of assuming that the routine won...
Stefan Ginsberg [Sun, 21 Dec 2008 16:29:23 +0000 (16:29 +0000)]
- Make advapi32 Winetest do a basic check instead of assuming that the routine won't fail

svn path=/trunk/; revision=38232

12 years agoOlaf Siejka <>
Aleksey Bragin [Sun, 21 Dec 2008 12:47:01 +0000 (12:47 +0000)]
Olaf Siejka <>
- Fix NSWPAT=1 build.

svn path=/trunk/; revision=38231

12 years ago- avoid crash, pszExt is null when creating a link to a file without extension
Kamil Hornicek [Sun, 21 Dec 2008 12:17:36 +0000 (12:17 +0000)]
- avoid crash, pszExt is null when creating a link to a file without extension

svn path=/trunk/; revision=38230

12 years agoFix packmgr linkage.
Andrew Munger [Sun, 21 Dec 2008 09:22:46 +0000 (09:22 +0000)]
Fix packmgr linkage.

svn path=/trunk/; revision=38229

12 years ago- _popen/_wpopen: When overriding the default standard input/output handles, don...
Stefan Ginsberg [Sun, 21 Dec 2008 08:30:41 +0000 (08:30 +0000)]
- _popen/_wpopen: When overriding the default standard input/output handles, don't set 2/3 to 0 -- use the standard handles instead (fix by kjk). Fixes the 'CsrGetObject returning invalid handle' errors

svn path=/trunk/; revision=38228

12 years agoImplemented IDirect3DDevice9::GetFrontBufferData()
Gregor Brunmar [Sun, 21 Dec 2008 08:26:47 +0000 (08:26 +0000)]
Implemented IDirect3DDevice9::GetFrontBufferData()

svn path=/trunk/; revision=38227

12 years ago* Implemented IDirect3D9Device::SetGammaRamp()
Gregor Brunmar [Sun, 21 Dec 2008 08:09:25 +0000 (08:09 +0000)]
* Implemented IDirect3D9Device::SetGammaRamp()
* Added stub for IDirect3DSwapChain9::SetGammaRamp()

svn path=/trunk/; revision=38226

12 years ago* Implemented IDirect3DDevice9::Present()
Gregor Brunmar [Sun, 21 Dec 2008 07:56:38 +0000 (07:56 +0000)]
* Implemented IDirect3DDevice9::Present()

svn path=/trunk/; revision=38225

12 years ago* Implemented IDirect3DDevice9::GetBackBuffer()
Gregor Brunmar [Sun, 21 Dec 2008 07:11:30 +0000 (07:11 +0000)]
* Implemented IDirect3DDevice9::GetBackBuffer()
* Forgotten documentation for IDirect3DDevice9::GetRasterStatus()

svn path=/trunk/; revision=38224

12 years ago- Add missing break in ExDereferenceCallBackBlock so ExReleaseRundownProtection does...
Michael Martin [Sun, 21 Dec 2008 06:01:23 +0000 (06:01 +0000)]
- Add missing break in ExDereferenceCallBackBlock so ExReleaseRundownProtection does not get called more than once.

svn path=/trunk/; revision=38223

12 years ago- As per, call ExDoCallBack...
Michael Martin [Sun, 21 Dec 2008 05:08:18 +0000 (05:08 +0000)]
- As per, call ExDoCallBack with correct parameters.

svn path=/trunk/; revision=38222

12 years agomodified include/reactos/wine/exception.h
KJK::Hyperion [Sun, 21 Dec 2008 03:58:19 +0000 (03:58 +0000)]
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

12 years agoUse "C" interface for intrinsic functions to avoid problems with C++. Fix _rotr and...
Timo Kreuzer [Sun, 21 Dec 2008 03:22:17 +0000 (03:22 +0000)]
Use "C" interface for intrinsic functions to avoid problems with C++. Fix _rotr and _rotl.

svn path=/trunk/; revision=38220

12 years agoInclude io.h. It's needed and was implicitly included so far. But that'll be soon...
Timo Kreuzer [Sun, 21 Dec 2008 03:15:46 +0000 (03:15 +0000)]
Include io.h. It's needed and was implicitly included so far. But that'll be soon gone.

svn path=/trunk/; revision=38219

12 years agoDon't use sys/time.h
Timo Kreuzer [Sun, 21 Dec 2008 03:12:09 +0000 (03:12 +0000)]
Don't use sys/time.h

svn path=/trunk/; revision=38218

12 years agoAvoid using non-standard names (S_IFITO, ...).
Timo Kreuzer [Sun, 21 Dec 2008 02:51:14 +0000 (02:51 +0000)]
Avoid using non-standard names (S_IFITO, ...).

svn path=/trunk/; revision=38217

12 years agouse _wcsicmp instead of non-standard wcscmpi
Timo Kreuzer [Sun, 21 Dec 2008 02:40:09 +0000 (02:40 +0000)]
use _wcsicmp instead of non-standard wcscmpi

svn path=/trunk/; revision=38216

12 years agorevert 38201 and 38203 due to regressions
Timo Kreuzer [Sun, 21 Dec 2008 02:27:44 +0000 (02:27 +0000)]
revert 38201 and 38203 due to regressions

svn path=/trunk/; revision=38215

12 years agoFix definition of EMRCREATECOLORSPACE and EMRPOLYXXX, should fix a bunch of winetests.
Timo Kreuzer [Sun, 21 Dec 2008 01:45:13 +0000 (01:45 +0000)]
Fix definition of EMRCREATECOLORSPACE and EMRPOLYXXX, should fix a bunch of winetests.

svn path=/trunk/; revision=38214

12 years ago - Merge aicom-network-fixes up to r38205
Cameron Gutman [Sun, 21 Dec 2008 01:29:35 +0000 (01:29 +0000)]
 - Merge aicom-network-fixes up to r38205

svn path=/trunk/; revision=38213

12 years agowidl: Don't assume that host void* is the same size as target void*
Jeffrey Morlan [Sun, 21 Dec 2008 00:43:56 +0000 (00:43 +0000)]
widl: Don't assume that host void* is the same size as target void*

svn path=/trunk/; revision=38212

12 years agoadd _tcscpy_s and _tsplitpath_s
Timo Kreuzer [Sun, 21 Dec 2008 00:22:15 +0000 (00:22 +0000)]
add _tcscpy_s and _tsplitpath_s

svn path=/trunk/; revision=38211

12 years agomodified dll/win32/gdi32/gdi32.rbuild
KJK::Hyperion [Sun, 21 Dec 2008 00:13:08 +0000 (00:13 +0000)]
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

12 years agoDon't redefine _tcscpy_s and _tsplitpath_s
Timo Kreuzer [Sat, 20 Dec 2008 23:55:05 +0000 (23:55 +0000)]
Don't redefine _tcscpy_s and _tsplitpath_s

svn path=/trunk/; revision=38209

12 years agomodified lib/pseh/framebased-gcchack.c
KJK::Hyperion [Sat, 20 Dec 2008 23:27:17 +0000 (23:27 +0000)]
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

12 years agodefine _INTEGRAL_MAX_BITS only if it was not already defined
Timo Kreuzer [Sat, 20 Dec 2008 23:16:49 +0000 (23:16 +0000)]
define _INTEGRAL_MAX_BITS only if it was not already defined

svn path=/trunk/; revision=38207

12 years agoUpdate ETO constants
Timo Kreuzer [Sat, 20 Dec 2008 22:47:24 +0000 (22:47 +0000)]
Update ETO constants

svn path=/trunk/; revision=38206

12 years agoTextOut functions take a character count, not a byte count. Rename cb to cch.
Timo Kreuzer [Sat, 20 Dec 2008 21:19:43 +0000 (21:19 +0000)]
TextOut functions take a character count, not a byte count. Rename cb to cch.

svn path=/trunk/; revision=38204

12 years agoHandle ETO_PDY more correctly (dy values still ignored)
Timo Kreuzer [Sat, 20 Dec 2008 21:01:14 +0000 (21:01 +0000)]
Handle ETO_PDY more correctly (dy values still ignored)

svn path=/trunk/; revision=38203

12 years ago- add check for NULL pointer, "first" is NULL for folders, files without extension...
Kamil Hornicek [Sat, 20 Dec 2008 20:48:08 +0000 (20:48 +0000)]
- 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

12 years agoWhen fuOptions has ETO_PDY specified, the DxBuffer in NtGdiExtTextOutW consists of...
Timo Kreuzer [Sat, 20 Dec 2008 20:38:23 +0000 (20:38 +0000)]
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

12 years ago[FORMATTING]
Timo Kreuzer [Sat, 20 Dec 2008 19:43:11 +0000 (19:43 +0000)]
Fix indentation. No code change.

svn path=/trunk/; revision=38199

12 years ago- Revert 38116 -- the SEH issues should be gone now
Stefan Ginsberg [Sat, 20 Dec 2008 13:48:35 +0000 (13:48 +0000)]
- Revert 38116 -- the SEH issues should be gone now

svn path=/trunk/; revision=38198

12 years agoSupersedes r38084. Take three
KJK::Hyperion [Sat, 20 Dec 2008 13:05:57 +0000 (13:05 +0000)]
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

12 years ago- Do not use pGlobalData after freeing,
Dmitry Gorbachev [Sat, 20 Dec 2008 11:06:21 +0000 (11:06 +0000)]
- 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

12 years ago- Fix parameters for CreateService
Johannes Anderwald [Sat, 20 Dec 2008 10:09:25 +0000 (10:09 +0000)]
- Fix parameters for CreateService

svn path=/trunk/; revision=38195

12 years ago- Fix all wine tests for MoveFileA/W
Dmitry Chapyshev [Sat, 20 Dec 2008 10:08:11 +0000 (10:08 +0000)]
- Fix all wine tests for MoveFileA/W

svn path=/trunk/; revision=38194

12 years agoNull dereference FTL.
Andrew Munger [Sat, 20 Dec 2008 09:30:12 +0000 (09:30 +0000)]
Null dereference FTL.

svn path=/trunk/; revision=38193

12 years ago- Formatting fix
Dmitry Chapyshev [Sat, 20 Dec 2008 08:07:10 +0000 (08:07 +0000)]
- Formatting fix

svn path=/trunk/; revision=38192

12 years ago- Fix 2 winetests
Dmitry Chapyshev [Sat, 20 Dec 2008 08:02:25 +0000 (08:02 +0000)]
- Fix 2 winetests

svn path=/trunk/; revision=38191

12 years ago- fix _STATIC_ASSERT
Timo Kreuzer [Fri, 19 Dec 2008 23:34:20 +0000 (23:34 +0000)]
- fix indentation
- move some headers from crt/ming to crt

svn path=/trunk/; revision=38190

12 years ago- Properly implement LookupIconIdFromDirectoryEx.
James Tabor [Fri, 19 Dec 2008 22:33:11 +0000 (22:33 +0000)]
- 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

12 years agoenable GetTimeZoneInformation in _getsystime
Timo Kreuzer [Fri, 19 Dec 2008 19:57:21 +0000 (19:57 +0000)]
enable GetTimeZoneInformation in _getsystime

svn path=/trunk/; revision=38188

12 years agoadd DECLSPEC_SELECTANY
Timo Kreuzer [Fri, 19 Dec 2008 18:39:32 +0000 (18:39 +0000)]

svn path=/trunk/; revision=38187

12 years agoNtGdiGetFontUnicodeRanges:
Timo Kreuzer [Fri, 19 Dec 2008 18:16:04 +0000 (18:16 +0000)]
- Don't probe the safe buffer, but the usermode buffer

svn path=/trunk/; revision=38186

12 years ago- Update fputwc implementation to current wine sources
Gregor Schneider [Fri, 19 Dec 2008 16:57:48 +0000 (16:57 +0000)]
- Update fputwc implementation to current wine sources
- Fixes 23 msvcrt file winetests

svn path=/trunk/; revision=38185

12 years ago- Fix return values for fputc and _flsbuf: return only one char
Gregor Schneider [Fri, 19 Dec 2008 11:39:04 +0000 (11:39 +0000)]
- Fix return values for fputc and _flsbuf: return only one char
- Fixes three msvcrt file winetests

svn path=/trunk/; revision=38184

12 years agoZero the last character in lfFaceName when converting a LOGFONT from A to W or vice...
Timo Kreuzer [Fri, 19 Dec 2008 00:12:43 +0000 (00:12 +0000)]
Zero the last character in lfFaceName when converting a LOGFONT from A to W or vice versa. Fixes 1 gdi32_winetest font.

svn path=/trunk/; revision=38183

12 years ago- Remove static qualifier from g_mbcp_is_multibyte variable (locale.c) to allow exter...
Gregor Schneider [Thu, 18 Dec 2008 22:06:07 +0000 (22:06 +0000)]
- 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

12 years ago- Update _mbclen, mblen, _mbslen, _mbsnextc and _mbstrlen which should rely on the...
Gregor Schneider [Thu, 18 Dec 2008 21:17:22 +0000 (21:17 +0000)]
- 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

12 years ago- From SDK, LD_ flags.
James Tabor [Thu, 18 Dec 2008 20:59:12 +0000 (20:59 +0000)]
- From SDK, LD_ flags.

svn path=/trunk/; revision=38180

12 years agoVfatSetAllocationSizeInformation: The fast code for extending the size of a non-empty...
Jeffrey Morlan [Thu, 18 Dec 2008 20:47:20 +0000 (20:47 +0000)]
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