Commit graph

178 commits

Author SHA1 Message Date
jimtabor
b3b40b35c9 [HIDParser] Fix MSVC build
Attempt to fix build for MSVC.
This effected local build GCC system with newer Ninja version. Not sure
if this has an effect.
2019-05-02 14:33:07 -05:00
Hervé Poussineau
7033ab18df [HID] Use hidparser static library for HidP_* functions
hid.dll and hidparse.sys must understand the same HID preparsed data,
so use the same code in hid.dll and in hidparse.sys

At the same time, this permis implementation of some HidP_* functions.
2019-05-02 20:06:47 +02:00
Hervé Poussineau
2978d4b61b [HIDPARSE/HIDPARSER] Move HidP_* functions from hidparse.sys to hidparser library
Interface between both is not anymore the HidParser_* functions, but
the HidP_* functions and the AllocFunction/FreeFunction/DebugFunctions/
ZeroFunction/CopyFunction.
2019-05-02 20:06:47 +02:00
Timo Kreuzer
f47f45dbdd
[TOOLS] Fix/suppress all MSVC/x64 warnings (#1525) 2019-04-28 23:21:48 +02:00
Katayama Hirofumi MZ
c714b7fd67
[ATL][ATLTEST] Adapt to RATL and improvements (#1501)
- Modify atldef.h for non-ReactOS environments.
- Update ATL testcase project files (from v120_xp to v140_xp).
- #define HAVE_APITEST and use it.
- s/NULL/0/
2019-04-20 08:35:39 +09:00
Mark Jansen
9824a0154e
[ATL] Retire atlnew 2019-04-18 19:21:37 +02:00
Mark Jansen
9853cc4d7e
[ATL][ATL_APITEST] Add test + implementation for CAtlFileMapping 2019-04-18 19:21:37 +02:00
Timo Kreuzer
146096cd2e [3RDPARTY] Make some warnings non-fatal 2019-04-13 14:07:50 +02:00
Jérôme Gardou
aa91628b0e [ZLIB] use correct dependency for minizip library 2019-04-06 17:43:38 +02:00
Jérôme Gardou
23373acbb9 [CMAKE] Use modules instead of shared libraries
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.

On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00
Katayama Hirofumi MZ
572e028de1
[SDK][ATL] Independence day of ReactOS ATL (#1473)
Today is the Independence Day of ReactOS ATL (RATL). CORE-12935
https://github.com/katahiromz/RATL
2019-04-05 19:45:45 +09:00
Katayama Hirofumi MZ
6388b91a4d
[CRT][USER32] fix wsprintf additional argument (%*s) (#1470)
Reduce wsprintf function failures ("%*s"). CORE-13955
2019-04-05 16:33:18 +09:00
Hervé Poussineau
c8719ee865 [CRT] Correctly share get_ioinfo()/release_ioinfo() functions between code units
This fixes the following compiler errors:

../sdk/lib/crt/stdio/stat64.c:7:13: error: inline function 'release_ioinfo' declared but never defined [-Werror]
 inline void release_ioinfo(ioinfo *info);
             ^~~~~~~~~~~~~~
../sdk/lib/crt/stdio/stat64.c:6:16: error: inline function 'get_ioinfo' declared but never defined [-Werror]
 inline ioinfo* get_ioinfo(int fd);
                ^~~~~~~~~~
../sdk/lib/crt/stdio/file.c:186:5: error: 'init_ioinfo_cs' is static but used in inline function 'get_ioinfo' which is not static [-Werror]
     init_ioinfo_cs(ret);
     ^~~~~~~~~~~~~~
../sdk/lib/crt/stdio/file.c:183:19: error: 'get_ioinfo_nolock' is static but used in inline function 'get_ioinfo' which is not static [-Werror]
     ioinfo *ret = get_ioinfo_nolock(fd);
2019-04-01 11:38:32 +02:00
Thomas Faber
1fe58c4058
[LIBXML2] Update to version 2.9.9. CORE-15854 2019-03-26 10:14:49 +01:00
Mark Jansen
a672665911
[ZLIB] Restore 'uncrypt' functionality in minizip 2019-03-06 23:09:35 +01:00
Timo Kreuzer
f5f6ea2965 [REACTOS] Fix 64 bit issues 2019-03-04 21:58:42 +01:00
Colin Finck
bd0a28d1e4 Fix the MSVC version of ldexp filling up the FPU stack and bailing out with #IND after a few calls. Additionally, add it back to libcntpr.
MSVC was previously given a "result" variable to copy the fscale result from st(0). This led to another "fld" FPU stack push at the very end without popping the source value from the FPU stack.
Moreover, this copy isn't even needed: A simple "fstp st(1)" at the end pops an element from the FPU stack while effectively storing the result in st(0), the register used for returning a double value.
This problem didn't affect GCC, as it is only given the "fscale" instruction and does all necessary stack operations itself.

However, looking into the CRT sources, I found many other i386 implementations with inline assembly suffering from the same problem.
Fortunately, they have been replaced by pure assembly implementations a while ago, so it's time to finally remove them.
ldexp would have also been a candidate for a pure assembly implementation, but the required check for NaN and setting errno (verified on Win2003) already outweighs the benefits.
And we cannot just do a NaN check with FUCOMI as this is an i686/pentiumpro instruction while we're still targeting i586/pentium.

I'm also using this opportunity to clean up the ldexp.c header and only put in the remaining contributors as returned by "git blame".

Thanks to NightWolve1975 for reporting the problem! (https://twitter.com/nightwolve1975/status/1099042477531643912)
2019-03-03 16:11:27 +01:00
Thomas Faber
a951d66002
[RTL] Fix GCC build. 2019-02-17 09:59:49 +01:00
Thomas Faber
7246909a80
[RTL] Protect pointer validity check in RtlFreeHeap with SEH.
Fixes crash in kernel32_winetest:heap.
2019-02-17 09:51:12 +01:00
Hermès Bélusca-Maïto
3ddf59e1ed
[CMLIB] Assign a signature to the in-memory HHIVE registry hive structure. CORE-15753
Makes the `!reg hivelist` WinDbg command working in ReactOS.

Dedicated to Mark Jansen.

See for more details:
https://webcache.googleusercontent.com/search?q=cache:fmHJX9eFGkkJ:https://blogs.technet.microsoft.com/ganand/archive/2008/01/05/internal-structures-of-the-windows-registry.aspx
and
http://moyix.blogspot.com/2008/02/enumerating-registry-hives.html
2019-02-17 01:21:37 +01:00
Hermès Bélusca-Maïto
70180ee06a
[CMLIB] Minor code style changes only: Use slightly more explicit signature #define names so that we know to which hive structure they correspond. 2019-02-17 01:21:36 +01:00
Pierre Schweitzer
c9c3622ef1
[VFATLIB] Don't forcibly delete LFN when not in RW mode 2019-02-14 10:13:32 +01:00
Timo Kreuzer
2a5bf96891 [CRT] Implement thread/fiber safe support for MSVC and Clang-CL
This is the most trivial (but also most efficient) implementation possible. Should be good enough for now.
2019-02-12 19:31:33 +01:00
Timo Kreuzer
dc77e7d379 [CRT] Use alias names for rot functions when compiling with Clang-CL
Clang-CL does not support #pragma function like CL. The alternative to this approach is to disable all intrinsics for this single source file, but that is not trivial to do, as it can only be done by removing a compiler switch, which we have no CMake support for. Therefore this solution is simpler and as good.
2019-02-12 19:31:33 +01:00
Timo Kreuzer
cf5926c207 [CPPRT] Implement __std_terminate wrapper for Clang-CL 2019-02-12 19:31:33 +01:00
Mark Jansen
e1aae1c620
[RTL] Implement RtlComputePrivatizedDllName_U 2019-02-07 18:48:49 +01:00
Thomas Faber
64d48843d7
[FREETYPE] Handle allocation failures in our stack-saving hacks. CORE-15642
Running out of pool is likely at least during kmtest:ExPools.
There is a chance of crashing when dereferencing these null pointers -- but
worse, there's also a chance of overwriting the IVT or BDA if a VDM BIOS
call is in progress, which can lead to crashes in non-obvious places later.
2019-01-28 14:31:49 +01:00
Thomas Faber
5bb277a54b
[LIBXML2] Update to version 2.9.8. CORE-15280 2019-01-16 09:27:22 +01:00
Mark Jansen
f9e50f5471 [ATL] Add GET_X_LPARAM and GET_Y_LPARAM to atlwin.h
Remove all local definitions
2019-01-15 14:34:53 +02:00
Mark Jansen
db8488e5ca
[SDK] Reset InDbgPrint state when an exception occurs
Previously this would not get reset, and all debug prints from the
current thread would be muted.
2019-01-05 15:21:40 +01:00
Andrew Boyarshin
04c851194c [NTDLL][RTL] Implement RtlGetFullPathName_UEx 2019-01-05 13:33:28 +01:00
Timo Kreuzer
cfd1647914
[REACTOS] Fix misc 64 bit issues (#783)
* [WIN32K] Fix handle calculation in DbgGdiHTIntegrityCheck
* [NOTEPAD] Fix MSVC warnings
* [PSDK] Simplify *PROC definitions in windef.h
* [VIDEOPRT] Don't try to use NtVdmControl on x64
* [FREELDR] Fix some macros
* [CRT] Make qsort 64 bit compatible
* [NTOS] Use #ifndef _WIN64 instead of #ifdef _M_IX86 around C_ASSERTs
* [FAST486] Fix 64 bit warnings and change DWORD to ULONG, so it can be used in kernel mode
* [APPHELP_APITEST] Fix 64 bit issue
2019-01-05 10:50:11 +01:00
Thomas Faber
d67156fa98
[MPG123] Update to version 1.25.10. CORE-15280 2019-01-05 09:20:40 +01:00
Pierre Schweitzer
44fdf3fc30 [RXCE] Fix leftover 2019-01-03 16:59:45 +01:00
Hermès Bélusca-Maïto
8d878f4bfa
[RDBSS] Fix pointer value assignation. 2019-01-03 15:49:07 +01:00
Timo Kreuzer
cdee669619 [RXCE] Fix 64 bit build 2019-01-03 14:27:15 +01:00
Pierre Schweitzer
a9124b412d
[RDBSS][RXCE] Implement IRP cancellation
CORE-15441
2019-01-02 15:02:15 +01:00
Hervé Poussineau
a179012563
[ZLIB] Import upstream commit 38e8ce32afbaa82f67d992b9f3056f281fe69259:
Fix CLEAR_HASH macro to be usable as a single statement.
As it is used in deflateParams().
2018-12-31 14:23:59 +01:00
Hervé Poussineau
c4d25d27f6
[RTL] Fix RtlNewSecurityGrantedAccess improperly zeroing output buffer 2018-12-31 11:19:36 +01:00
Pierre Schweitzer
f75ea083e3
[NTOSKRNL_VISTA] Implement FsRtlGetEcpListFromIrp and FsRtlGetNextExtraCreateParameter
CORE-15452
2018-12-25 13:50:41 +01:00
Pierre Schweitzer
a76b8843a8
[NTOSKRNL_VISTA] Implement IoGetIrpExtraCreateParameter
CORE-15452
2018-12-25 13:50:40 +01:00
Pierre Schweitzer
cdf47d5254
[VFATLIB] Drop a hack no longer needed after f87d9ca 2018-11-25 10:41:22 +01:00
Pierre Schweitzer
aac38dfed8
[RDBSS] Fix a typo
Spotted by Hermès
2018-11-24 22:00:09 +01:00
Pierre Schweitzer
738f327668
[IP] Add a TCPGetSocketStatus() wrapper around LibTCPGetSocketStatus() 2018-11-23 22:51:35 +01:00
Pierre Schweitzer
29c1510423
[LWIP] Implement a LibTCPGetSocketStatus() function in our LwIP glue
It is used to query a socket state (established, closed, and so on).
2018-11-23 22:51:35 +01:00
Stanislav Motylkov
baf2c0cc2d [DRWTSN32] Add SMBIOS data to the system information (#1017)
[DMILIB][UDMIHELP] Allow functions to be linked with C++ code.
2018-11-21 21:49:15 +01:00
Pierre Schweitzer
7c0a8eb555
[TDILIB] Make tdiGetSetOfThings() return useful status 2018-11-18 16:30:45 +01:00
Pierre Schweitzer
c5983e302d
[VFATLIB] Don't attempt to fix volume if not allowed 2018-10-21 11:12:10 +02:00
Hermès Bélusca-Maïto
bf8a7d2db0
[CMLIB] Adjust parameter types and annotations. Add diagnostic assertions. 2018-10-14 15:59:31 +02:00
Mark Jansen
2d47c3be29
[CRT] spawn: define a unicode environment when needed
CORE-9182
2018-10-13 20:30:07 +02:00