Commit Graph
7293 Commits
Author SHA1 Message Date
Stefan Ginsberg f022f9092b - Use _SEH2_YIELD when returning from an exception instead of returning outside the SEH block. Avoids unnecessary status checks for the most common case (no exception). Move the cleanup code into the handler too in favor of the no-exception case. Futhermore, don't call ExSystemExceptionFilter when we know we are called from user mode. Finally, only enter SEH if we need to do any probing.
- Re-enable user mode probes in KiRaiseException; they do not seem to be an issue anymore -- booting and running the ntdll exception Winetest didn't reveal any issue. Put a breakpoint there in case this code is ever hit (unlikely).

svn path=/trunk/; revision=42923
2009-08-24 19:58:15 +00:00
Stefan Ginsberg ea23cd10c2 - Start deprecating TAG()
- Fix inverted tags in prntfont.h, stdunk.h and win32k/objects/font.c

svn path=/trunk/; revision=42915
2009-08-24 17:12:25 +00:00
Christoph von Wittich c0755ff4f4 define USE_COM_CONTEXT_DEF
svn path=/trunk/; revision=42904
2009-08-24 10:48:24 +00:00
Gregor Brunmar e85cc27f88 - Implemented MSVC version of fmod
svn path=/trunk/; revision=42844
2009-08-22 13:21:01 +00:00
Gregor Brunmar ecc5d7ef19 - Implemented MSVC version of exp
svn path=/trunk/; revision=42843
2009-08-22 13:06:11 +00:00
Gregor Brunmar 9a06e2badb - Implemented MSVC version of ldexp
svn path=/trunk/; revision=42842
2009-08-22 10:16:11 +00:00
Gregor Brunmar a68ce7a4e3 - Implemented MSVC version of atan2
svn path=/trunk/; revision=42841
2009-08-22 10:07:25 +00:00
Stefan Ginsberg 43b07d3f6a - svchost: #ifdef _MSC_VER doesn't mean "using Microsoft's headers" anymore
- ddraw, imm32, msxml3, oleaut32, riched20: Include typeof.h for typeof emulation when compiling under MSVC and remove from ReactOS-generic.rbuild (this can't go to port.h as the modules do not include it).
- TCPIP: Fix a check for MSVC.
- NDIS: Don't use floating point arithmetics in kernel mode -- spotted by MSVC trying to link to ftol (gcc inlined the operation).
- SAMLIB: Use __VA_ARGS__ instead of gcc-specific macro manipulation.
- WIN32CSR: Don't use gcc-specific \% if you want % in the string -- this is incorrect and will pass a broken string to swprintf (the code seems to be uncalled though, so this shouldn't change anything). Use %% instead.
- Error out on MSVC implementation of logb -- it doesn't produce the same code as the gcc version.
- Rename gcc's float.h to gcc_float.h and use #include instead of #include_next for consistency.
- Remove leftover header guard from types.h
- Remove superfluous brackets from PSEH2->MSVC defines -- this isn't necessary anymore after 41597
- Correction to 42216: MSVC *does* let you define types in a function, but only at the top of scope. Move back the C_ASSERT into KiAcquireGuardedMutex.
- Simplify definition of alloca
- scripts.cpp: Silence unavoidable warning.
- Remove compile time warning from Uniata -- the code has been unused for 1 1/2 years and will probably remain so.

svn path=/trunk/; revision=42829
2009-08-21 15:57:26 +00:00
Cameron Gutman da1fa88e1c - Fix receiving packets on an interface's broadcast address while bound to an undefined address
- Simplify binding to a certain interface

svn path=/trunk/; revision=42811
2009-08-20 17:25:39 +00:00
Cameron Gutman 9757ce3f97 - Allow binding to an interface's broadcast address
- Set address type

svn path=/trunk/; revision=42787
2009-08-20 00:54:27 +00:00
Gregor Schneider 332c985b52 Sync scanf to current wine sources, correct msvcrt cpp sync date
svn path=/trunk/; revision=42766
2009-08-18 14:23:51 +00:00
Gregor Schneider 9a8137bdd5 Add some useful information to the popen header
svn path=/trunk/; revision=42740
2009-08-16 18:58:25 +00:00
KJK::Hyperion 9aacc392d5 modified include/reactos/libs/pseh/pseh2.h
Trampoline-related definitions are no longer necessary in the public header

modified   lib/pseh/i386/framebased-gcchack.c
   Don't use byte arrays when you mean unaligned field, Arch: use __attribute__((packed)) instead, and gcc will thank you for not violating strong aliasing

svn path=/trunk/; revision=42737
2009-08-16 16:40:52 +00:00
Dmitry Chapyshev 16992e50bd - Partially sync locale.c with Wine
svn path=/trunk/; revision=42689
2009-08-15 10:01:28 +00:00
Dmitry Chapyshev 8d16b803eb - Add debug print for unimplemented function
svn path=/trunk/; revision=42688
2009-08-15 10:00:15 +00:00
Cameron Gutman e90b905e0b - Fix a NULL pointer dereference if ExAllocatePool fails
- Move some sanity checks into the right location
 - Fix another NULL pointer dereference if there is not a socket on the queue
 - Also spotted by Amine Khaldi

svn path=/trunk/; revision=42660
2009-08-13 23:42:21 +00:00
Gregor Schneider d2c4562d5b Free memory on error
svn path=/trunk/; revision=42618
2009-08-11 14:37:52 +00:00
Gregor Schneider dd9eabe375 Fix memory allocation for small number of digits
svn path=/trunk/; revision=42616
2009-08-11 14:01:44 +00:00
Cameron Gutman 347e34f1b4 - Rewrite most of the loopback code
- The new code is faster, uses less memory, and is less complex than the previous code
 - Add a NULL check to fix a potential crash

svn path=/trunk/; revision=42578
2009-08-10 03:27:39 +00:00
Gregor Schneider 7b6de8b1d4 -Use correct conversion factors in FileTimeToUnixTime (increased by factor 1000)
-Prefer time_t to arch specific __time64_t
-Assumption from r42506 was wrong: GetSystemTimeAsFileTime supplies good values

svn path=/trunk/; revision=42517
2009-08-08 14:55:25 +00:00
Stefan Ginsberg e8aa4b4280 - Silence a soundblaster warning on release build
svn path=/trunk/; revision=42516
2009-08-08 14:41:50 +00:00
Gregor Schneider 522d088b11 -time() returns a valid value even if no pointer is passed
-Exposes another bug: kernel32's GetSystemTimeAsFileTime currently returns invalid (too low) time values

svn path=/trunk/; revision=42506
2009-08-08 11:40:48 +00:00
Stefan Ginsberg 578de69cda - Properly stub atan2/exp/fmod/ldexp for MSVC -- #error out on them instead of calling nonexisting functions to fail at link time (wtf?).
svn path=/trunk/; revision=42471
2009-08-07 16:40:11 +00:00
Stefan Ginsberg ac7daf7ccf - winddk.h: Don't define NTSYSAPI and NTSYSCALLAPI -- this is defined in ntdef.h. Use NTSYSAPI for HalDispatchTable instead of DECLSPEC_IMPORT (see below).
- wdm.h: Properly define NTKERNELAPI.
- ntifs.h: Properly define NTKERNELAPI, and don't redefine NTSYSAPI.
- ntoskrnl: Apply the WDK hack for our headers (and gcc) too. Also redefine NTHALAPI for NDK so we don't auto-import KdComPortInUse -- ld complains about this.
- Apply this for cmlib, csq and rossym too.
- Use this in HAL too, and redefine NTSYSAPI so we don't auto import some structures from the kernel. Also, don't define __declspec(dllimport) to nothing -- this doesn't work with gcc, and doesn't seem to be necessary. I tried building HAL with the WDK and this wasn't an issue.

svn path=/trunk/; revision=42461
2009-08-07 10:45:59 +00:00
Stefan Ginsberg 7b78af8b30 - Add inlined assembly for MSVC to _clearfp, _control87, _fpreset, _logb and _statusfp, move fpreset into arch-specific directory and remove x86 #ifdefs from the code.
- Disable warning C4733 for __wine_push_frame and __wine_pop_frame

svn path=/trunk/; revision=42458
2009-08-07 09:36:53 +00:00
Cameron Gutman f1b8d48df1 - Send a gratuitous ARP packet when our IP address changes
svn path=/trunk/; revision=42455
2009-08-07 03:21:56 +00:00
Cameron Gutman 353d0a8d27 - Fix a bug resulting in ROS discarding all gratuitous ARP packets
- Remove an unnecessary check

svn path=/trunk/; revision=42453
2009-08-07 02:39:38 +00:00
KJK::Hyperion 5662c48394 modified lib/3rdparty/libsamplerate/libsamplerate.rbuild
We have lrint and lrintf, don't provide inline implementations

Three cheers for libsamplerate, congratulations to it for compiling on Visual C++

svn path=/trunk/; revision=42450
2009-08-07 02:10:12 +00:00
KJK::Hyperion ba42f38a63 modified lib/3rdparty/libxml2/libxml2.rbuild
libxml2 wants __MINGW32__, let's give it __MINGW32__. This should probably defined globally, because our Visual C++ environment is kind of MinGW, after all

And libxml2 compiles with Visual C++, too

svn path=/trunk/; revision=42444
2009-08-07 01:06:18 +00:00
Stefan Ginsberg cb95320734 - Fix the last mingw msvc build issues -- just use function forwarders for msvc instead of using gcc alias symbols. Also add msvc assembly to the "fp10" implementation.
svn path=/trunk/; revision=42435
2009-08-06 19:23:44 +00:00
Stefan Ginsberg 60bf2397d9 - Don't rely on the default calling convention being cdecl for function pointers
svn path=/trunk/; revision=42429
2009-08-06 15:27:23 +00:00
Gregor Schneider 1a3dc30655 Retrieve the timezone bias in mktime via GetTimeZoneInformation
svn path=/trunk/; revision=42428
2009-08-06 15:18:24 +00:00
Gregor Schneider 44007e0af4 -Increase array size to allow proper string termination (MSVC warning #C4045)
-The code correctly copies only the first TCHAR4 value being the string itself

svn path=/trunk/; revision=42426
2009-08-06 12:45:11 +00:00
Stefan Ginsberg 740e3ee947 - MSVC fix: static __inline__ -> FORCEINLINE
svn path=/trunk/; revision=42425
2009-08-06 11:59:20 +00:00
Gregor Schneider f5a461d8bf Switch from time to time_new 2/2:
-Rename time_new to time

svn path=/trunk/; revision=42423
2009-08-06 11:38:09 +00:00
Gregor Schneider bb36c210f0 Switch from time to time_new 1/2:
-Get updated headers into place, prepare rbuild file, delete old dir

svn path=/trunk/; revision=42422
2009-08-06 11:37:09 +00:00
Stefan Ginsberg c63b98f537 - crt: Use ANSI C types
- math.h: Move nonstandard inline using nonstandard function into nonstandard group
- crtdefs.h: Don't disable non-ANSI C definitions for MSVC only -- the behaviour should be the same for all compilers, so always disable them -- fixes various msvc build errors introduced by 42369.

svn path=/trunk/; revision=42418
2009-08-06 11:03:08 +00:00
Gregor Schneider 760207bad2 -Merge license change from AMD64 branch (r42414)
-Adjust the return value of mktime by the chosen timezone after normalizing

svn path=/trunk/; revision=42417
2009-08-06 11:01:44 +00:00
Gregor Schneider de5d448389 -Deactivate _invalid_parameter for now, depends on the strsafe crt implementation also in AMD64 branch
-Fix the weekday offset in gmtime
-Offset the year in *ctime by 1900, fix obvious typos
-Set structure packing to char level: without it the 26 character array is 32 characters wide and the string can't be constructed properly because of alignment characters in between (shouldn't be a problem when _UNICODE is defined)
-Test results: awesome, will be integrated soon

svn path=/trunk/; revision=42413
2009-08-06 00:26:23 +00:00
Gregor Schneider 8b24ebb671 -Import tkreuzer's time implementation from AMD64 branch
svn path=/trunk/; revision=42411
2009-08-05 19:30:37 +00:00
Gregor Schneider 282b5c28f5 asctime/ctime: Check for too low input time, fixes one msvcrt time winetest
svn path=/trunk/; revision=42402
2009-08-05 02:06:25 +00:00
Gregor Schneider 0e0ee67a1a -_ecvt really uses a static buffer for return values
-Handle memory allocation failure

svn path=/trunk/; revision=42401
2009-08-05 02:02:25 +00:00
Cameron Gutman 083150d2cd - Add missing locking to DeallocatePort
svn path=/trunk/; revision=42399
2009-08-04 23:35:50 +00:00
Gregor Schneider 914b6fa743 Fix formatting
svn path=/trunk/; revision=42398
2009-08-04 23:32:38 +00:00
Gregor Schneider f9ae6c7786 _ecvt:
- Rewrite the function, getting rid of alloca and unneeded code parts
- Relies on working sprintf, especially allows to detect the decimal point position independent of wanted precision
- Fixes all msvcrt printf winetests

svn path=/trunk/; revision=42383
2009-08-04 15:17:00 +00:00
Gregor Schneider a08bde0eb5 sprintf:
- Implement higher precision exponent selection, checked against ecvt test cases to match wanted behavior
- msvcrt printf winetests up by ~10 because current ecvt relies on non-correct behavior
- Cleanup unneeded checks, wrong variable usages, add new header

svn path=/trunk/; revision=42382
2009-08-04 15:09:47 +00:00
Stefan Ginsberg a1c98e143e - Remove asm-optimized versions of RtlRandom and RtlUniform -- there is *no* reason to use hand-optimized assembly for simple routines like these -- let the compiler do its job, please. Also, we compiled random.c *and* random_asm.S, meaning we duplicated the functions -- the compiler didn't detect this and silently used the C versions.
- Don't forward RtlRandomEx to RtlRandom in ntdll -- RtlRandomEx should use a different algorithm (but is simply a copy of RtlRandom right now).
- Revert RtlUniform back to the "slow" version -- let the compiler do its job instead of obfuscating code for a miniscule speed gain.

svn path=/trunk/; revision=42378
2009-08-04 11:22:50 +00:00
Cameron Gutman 1b403e9be7 Broadcast fixes
- Treat 255.255.255.255 as an undefined address
 - Choose the first interface when sending a broadcast packet (fixes failing with STATUS_NETWORK_UNREACHABLE when trying to send a broadcast packet)
 - Fix a broadcast address check so 255.255.255.255 will also pass (fixes sending queued broadcast packets)
 - Now a broadcast packet can be successfully sent from an interface with a valid IP address (previously they could only be sent when the interface didn't have an NCE entry)

svn path=/trunk/; revision=42375
2009-08-03 20:10:47 +00:00
Stefan Ginsberg 95cfd1d8da - mingw: __builtin_return_address -> _ReturnAddress, __builtin_frame_address -> _AddressOfReturnAddress
- ReactOS-generic.rbuild: Define __STDC__ for MSVC to fix some code depending on it (not using /Za as it breaks other code)

svn path=/trunk/; revision=42369
2009-08-03 18:02:07 +00:00
Gregor Schneider 771b93f448 Use ALL_X macros in fstat, fixes one msvcrt file winetest
svn path=/trunk/; revision=42364
2009-08-03 16:57:20 +00:00