Commit graph

47061 commits

Author SHA1 Message Date
Alex Ionescu
ca5fb1b692 [KERNEL32]: Now really kill combdcb.c, as the Wine implementation is now in comm.c
svn path=/trunk/; revision=52755
2011-07-21 05:26:12 +00:00
Alex Ionescu
8d4cdb4ba1 [KERNEL32]: Winesync all there is to Winesync in ReactOS' kernel32. This mainly affects LZ*, Comm*, *ProfileString* (INI), and *Resource* APIs, however the changes in there are relatively minor. More substantial changes affect the locale/NLS/language functions, many which were bitrotting for 6+ years.
In theory, this code is "better" than before, and it is closer to Wine (which arguably has better compatibility). It also resets things in sync with Wine however, and may lose and "fixes" ReactOS may have added over the years. But this is a good thing, since these fixes have been "lost" (they obviously never made it into Wine), and if regressions are now found due to this, actual upstream patches can be sent and picked up on the next sync. This avoids maintaining duplicate code, at the expenses of some potential short-term regressions in i18n.
Finally, note that much of /string seems to be taken from Wine's Unicode library (which a host "unicode" already exists in ReactOS' tools/. It may be better (for someone with more experience as to these wine-isms) to simply just pull-in whatever winelib files are not currently present in ReactOS, and have kernel32 and tools/unicode use winelib, instead of having 2 or 3 copies of the code.

svn path=/trunk/; revision=52754
2011-07-21 05:24:59 +00:00
Alex Ionescu
b61bacd753 [WINE]: Fix build.
svn path=/trunk/; revision=52753
2011-07-21 03:19:44 +00:00
Alex Ionescu
2d6abdac2d NO CODE CHANGE
[KERNEL32]: Final part of the re-structure: move the last few files from "misc" into "client". Now "misc" is mostly composed of Wine-based code (which will soon by Winesynched) that provides functionality such as INI, .rsrc parsing and LZip expansion, as well as the RS232-based APIs. The rest of "client" is NT-layer glue, much of it buggy and in need of help.
[KERNEL32]: Move "Beep" from environ.c to deviceio.c... seems to make more sense there.
[KERNEL32]: Set kernel32_handle since Wine-synched code will depend on this.
[KERNEL32]: Link with winelib, don't link with normaliz anymore.

svn path=/trunk/; revision=52752
2011-07-21 02:55:56 +00:00
Alex Ionescu
fcd58d94bb [PSDK]: Add missing RESETDEV define to winbase.
[WINE]: Wrap Wine's get_char_typeW to iswctype in unicode.h, which will allow better sharing of synched code.

svn path=/trunk/; revision=52751
2011-07-21 02:51:50 +00:00
Timo Kreuzer
1519ee0ed7 [KERNEL32]
Hey Arch, stop deleting our code!

svn path=/trunk/; revision=52749
2011-07-20 20:18:17 +00:00
Cameron Gutman
1e3d0d1bb6 [USETUP]
- Fix length calculation for FAT16 volumes

svn path=/trunk/; revision=52748
2011-07-20 19:56:58 +00:00
Timo Kreuzer
94cd89e643 [CMAKE]
Really fix build

svn path=/trunk/; revision=52747
2011-07-20 19:04:59 +00:00
Cameron Gutman
e399b918e2 [RTL]
- Fix a couple of potential null pointer accesses

svn path=/trunk/; revision=52746
2011-07-20 18:38:13 +00:00
Cameron Gutman
04db4cde59 [KERNEL32]
- Try to fix CMake build

svn path=/trunk/; revision=52745
2011-07-20 18:14:08 +00:00
Cameron Gutman
c4097c4a0c [RTL]
- Validate parameters passed into path functions

svn path=/trunk/; revision=52744
2011-07-20 17:59:16 +00:00
Timo Kreuzer
ad1f4ccd47 [USETUP]
Fix formatting. No code change.

svn path=/trunk/; revision=52743
2011-07-20 17:54:28 +00:00
Timo Kreuzer
9b7459ef6c [USETUP]
Patch by Dmitry Gorbachev:
Don't overwrite the OemName field in the bootsector. Although this field could theoretically contain any string, MS recommends using "MSWIN4.0" and MSDOS does even rely on it being this (or having higher last 2 characters)
This way we preserve what is being put there when the disk is formatted, which is "MSWIN4.0"
See issue #6386 for more details.

svn path=/trunk/; revision=52742
2011-07-20 17:00:28 +00:00
Timo Kreuzer
ffe1655d1a [NTOSKRNL]
Patch by Thomas Faber
ExAcquireSharedStarveExclusive and ExAcquireSharedWaitForExclusive should
return FALSE when they cannot immediately acquire the resource, and the Wait parameter is false. They return TRUE instead, leading the caller to believe it acquired the resource, which will result in a bugcheck when it tries to release it.

See issue #6375 for more details.

svn path=/trunk/; revision=52741
2011-07-20 16:29:38 +00:00
Alex Ionescu
723d09b46c NO CODE CHANGE.
[KERNEL32]: Delete now empty directories.

svn path=/trunk/; revision=52740
2011-07-20 16:16:14 +00:00
Alex Ionescu
6517fcc0c7 NO CODE CHANGE.
[KERNEL32]: Delete now empty directories.

svn path=/trunk/; revision=52739
2011-07-20 16:15:56 +00:00
Alex Ionescu
c37513d3e0 NO CODE CHANGE
[KERNEL32]: Reorganize the source tree into a "client" section (The Win32 API proper and its wrapping of the NT base system -- unsynchable with Wine until they have a proper NtDll and choose to use our code) and a "winnls" section (string/language/etc stuff easily synchable with Wine).
[KERNEL32]: Note: this is not perfect yet, but a step in the right direction.

svn path=/trunk/; revision=52738
2011-07-20 16:14:21 +00:00
Alex Ionescu
1b4336a2c1 NO CODE CHANGES.
[KERNEL32]: Reorganize certain functions in different files, and move files into more appropriate locations. Will lead to a simplification of the directory structure.

svn path=/trunk/; revision=52737
2011-07-20 15:54:21 +00:00
Alex Ionescu
3013167a9d [PSDK]: Add missing QUOTA_LIMITS_EX.
[NDK]: Fix certain SxS functions.
[RTL]: "Implement" RtlActivateActivationContextEx which lets you specify a TEB. RtlActivateActivationContext uses the current TEB. NOTE: All these functions are broken because they copy-paste Win32 wine code into NT Native functions (with different parameters/structures).
[NDK]: Fix pstypes.h -- it was a #define mess, and worked by luck because we are a < Vista OS.
[NDK]: Add RtlInitEmptyAnsiString.

svn path=/trunk/; revision=52736
2011-07-20 14:46:15 +00:00
Timo Kreuzer
825444af66 [NTOSKRNL]
Patch by Thomas Faber:
Fix broken interlocked functions

See issue #6374 for more details.

svn path=/trunk/; revision=52735
2011-07-20 13:48:06 +00:00
Cameron Gutman
bbbb4ccf95 [RTL]
- Fix the string length calculation for the partial name
- Fixes the 2nd stage regression

svn path=/trunk/; revision=52733
2011-07-20 07:11:38 +00:00
Cameron Gutman
d559321dff [RTL]
- Fix returning relative path names for path API calls using RtlpDosPathNameToRelativeNtPathName_Ustr on the backend

svn path=/trunk/; revision=52732
2011-07-20 05:34:33 +00:00
Dmitry Gorbachev
629b082a69 [NTOSKRNL]
Do not assign drive letters to unrecognized partitions. Fixes bug #2564.

svn path=/trunk/; revision=52731
2011-07-18 20:27:42 +00:00
Cameron Gutman
70bcf6fc0a [IP]
- Register an interface route for interfaces with a static IP address

svn path=/trunk/; revision=52729
2011-07-18 16:38:36 +00:00
Alex Ionescu
1fdc23fa32 [RTL]: Makes sure there is a curdir handle.
svn path=/trunk/; revision=52728
2011-07-18 13:46:43 +00:00
Alex Ionescu
16163bbc4a [RTL]: Fix a typo in RtlpDosPathNameToRelativeNtPathName_Ustr thanks so smiley.
[RTL]: Implement the unimplemented corner case based on the old ReactOS code.

svn path=/trunk/; revision=52727
2011-07-18 13:45:32 +00:00
Alex Ionescu
b328750c1b [RTL]: Implement RtlDosPathNameToRelativeNtPathName_U_WithStatus, RtlDosPathNameToRelativeNtPathName_U, RtlDosPathNameToNtPathName_U_WithStatus.
[RTL]: Reimplement RtlDosPathNameToNtPathName_U to use UNICODE_STRING semantics.
[RTL]: Fix RtlGetFullPathName_Ustr.
[RTL]: RtlGetFullPathName_U remains based on the legacy non-UNICODE_STRING mechanism, but it's too complex to attempt changing for now.

svn path=/trunk/; revision=52726
2011-07-18 13:22:09 +00:00
Cameron Gutman
78bd31b30d [AFD]
- Fix typos from my previous commit
- Fix another bug with recv() on a datagram socket
- Fix cancellation bugs

svn path=/trunk/; revision=52725
2011-07-18 11:27:01 +00:00
Cameron Gutman
2f00016a72 - Fix copy paste error
svn path=/trunk/; revision=52724
2011-07-18 04:25:08 +00:00
Cameron Gutman
e37e340708 [AFD]
- Fix a nasty datagram corruption bug that would result in an uninitialized buffer data being returned instead of packet data if the client read buffer was smaller than the datagram received
- Fix broken user-mode send datagram IRP completion code which didn't set the completion status
- Implement disabling/enabling event select triggers

svn path=/trunk/; revision=52723
2011-07-18 04:21:40 +00:00
Sylvain Petreolle
521309797d [ROSTESTS]
Disable urlmon:protocol test since it crashes now.
See bug 6381 for more details.

svn path=/trunk/; revision=52722
2011-07-17 23:22:34 +00:00
Olaf Siejka
1e168bdfba [ROSTESTS]
- Skip test_enhmetafile to prevent the oleaut_winetest:olepicture crash. 
See issue #5000 for more details. Test skipping must be diffed, else will be reverted again at winesync.

svn path=/trunk/; revision=52721
2011-07-17 21:30:16 +00:00
Cameron Gutman
4b5b01dfe6 [MSAFD]
- Fix several bugs in WSPGetSockName and WSPGetPeerName

svn path=/trunk/; revision=52720
2011-07-17 20:19:20 +00:00
Timo Kreuzer
71842f91e6 [SERVICES]
Fix an MSVC warning

svn path=/trunk/; revision=52719
2011-07-17 17:51:52 +00:00
Cameron Gutman
b38aed5d19 [IP/OSKITTCP]
- Fix a race condition that occurs when the socket is closed by the remote host while waiting on OSKLock to perform a socket operation and results in accessing freed memory

svn path=/trunk/; revision=52718
2011-07-17 17:37:36 +00:00
Eric Kohl
17c51414f2 [SERVICES]
Implement service image records. This will enable us to run executables that contain multiple services and control them individually.

svn path=/trunk/; revision=52717
2011-07-17 15:45:03 +00:00
Alex Ionescu
094e863db8 [RTL]: Implement RtlGetFullPathName_Ustr, not yet used.
[RTL]: Simplify RtlDosSearchPath_U by not using a temporary "char" value, and just reading straight from the string buffer.

svn path=/trunk/; revision=52713
2011-07-17 13:15:50 +00:00
Sylvain Petreolle
7ba859bd6b [D3D]
Do not link d3dx9 dlls to wined3d.

svn path=/trunk/; revision=52711
2011-07-17 11:55:57 +00:00
Timo Kreuzer
d80ad7f4ad [NTOSKRNL]
Fix a warning on MSVC

svn path=/trunk/; revision=52710
2011-07-17 11:37:00 +00:00
Jérôme Gardou
46b4ae974e [CMAKE]
- touch dlldata.c files to avoid to recompile them on a rebuild

svn path=/trunk/; revision=52709
2011-07-17 11:34:14 +00:00
Jérôme Gardou
0c5e834c4a [NTOSKRNL]
- as a rule of thumb, don't even try to fix something too badly broken.

svn path=/trunk/; revision=52708
2011-07-17 11:27:40 +00:00
Jérôme Gardou
e216eae70a [RTL]
- fix RtlDosSearchPath_U : do not alter filename while searching for file extension

svn path=/trunk/; revision=52707
2011-07-17 10:51:42 +00:00
Olaf Siejka
926a182313 [TRANSLATION]
- Add newlines at the end of rc files. Fixes MSVC build;

svn path=/trunk/; revision=52706
2011-07-17 09:20:34 +00:00
Timo Kreuzer
4040433bfa [ASM]
Generate MSVC debugging info for KiUserExceptionDispatcher, KiIntSystemCall, KiFastSystemCall, KiFastSystemCallRet, KiSystemService, KiFastCallEntry, all systemcall stubs
Now usermode backtraces look as they should in WinDbg

svn path=/trunk/; revision=52705
2011-07-17 00:38:46 +00:00
Timo Kreuzer
005a7acbfc [CMAKE]
Generate a checksum for ntdll with MSVC

svn path=/trunk/; revision=52704
2011-07-16 22:41:10 +00:00
Dmitry Gorbachev
4166b39bfa [TRANSLATION]
Simplified Chinese translations by Song Fuchang, bug #6365.

svn path=/trunk/; revision=52703
2011-07-16 19:54:06 +00:00
Cameron Gutman
13f96c816f [AFD]
- Change some debug prints to reduce useless spam

svn path=/trunk/; revision=52702
2011-07-16 19:16:45 +00:00
Alex Ionescu
4f4b4e848c [RTL]: Cleanup, no code changes.
svn path=/trunk/; revision=52700
2011-07-16 19:03:50 +00:00
Alex Ionescu
3aab9ff5f6 [NDK]: Add RtlReleaseRelativeName.
[RTL]: Re-implement RtlDosSearchPath_U using new path functions from past commits. Uses correct behavior with RtlDoesFileExists (for relative paths, return success when file is locked -- for absolute paths, do not!). Also uses a more optimized path loop that does not alloc/realloc/free heap continously (only one heap allocation is used).

svn path=/trunk/; revision=52699
2011-07-16 18:58:52 +00:00
Cameron Gutman
6195434c6b [TCPIP]
- Fix the broken TDI_QUERY_CONNECTION_INFO implementation
- Perform buffer size checks on TDI_QUERY_MAX_DATAGRAM_INFO requests
[AFD]
- Greatly simplify AfdGetPeerName by using the remote address stored while connecting

svn path=/trunk/; revision=52698
2011-07-16 17:17:08 +00:00