[CMD]
- prevent a buffer underrun (fixes stray quotes being appended on autocomplete in some cases)
- check if the input string is not empty (fixes first file in directory getting skipped on autocomplete)
- fix some typos
CORE-8623

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64787 97493ccd-5924-5043-b1f5-66cb403b36ce
[User32]
- Patch by Michael Müller : Also set cch member in GetMenuItemInfo when passing a null pointer.
- Fix two menu tests.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64788 97493ccd-5924-5043-b1f5-66cb403b36ce
[EXT2FS]
Properly fix warnings on MSVC, introduced in r38302.
"- 'allowwarnings=true' -- not anymore", they said.
Advice by ThFabba.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64790 97493ccd-5924-5043-b1f5-66cb403b36ce
[CMAKE/KEYBOARD]
* Improve the way we handle keyboard layouts.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64791 97493ccd-5924-5043-b1f5-66cb403b36ce
[NTVDM]
- Use a helper function for copying little chunks of memory (1, 2, 4 and 8 bytes) because a profiling of ntvdm showed that especially 1 and 2 bytes of memory were read the most, and calling RtlCopy/MoveMemory for intensively copying 1 or 2 bytes was shown to be inefficient. We also don't use directly intrinsics/builtins because the compiler cannot know in advance the size of the memory to be copied, it cannot perform the required optimizations. It was checked that using the builtin-memcpy or memmove of GCC when compiling the program in release+full optimization mode just embedded a call to _memcpy, and naively using the movsX intrinsics of MSVC does not do the job of "moving" memory taking into account for the possible overlaps. Therefore, for small sizes (<= 8 bytes), we use copy assignments, whereas for large sizes (and for 3, 5, 7, 9+ bytes) we use the regular method of calling RtlMoveMemory. We gain ~=10% speed with this optimization.
- Also I use >> and & for dividing by 4 and 2 instead of the regular / and % operations because they are not optimized otherwise by default by MSVC (they are however, if you explicitely enable optimizations).

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64792 97493ccd-5924-5043-b1f5-66cb403b36ce
[NTFS]
Bugfixing... Part 4/X:
- Fix a nasty bug in NtfsLookupFileAt() (how did it work before?). The name parsing was wrong (no progress was being made) and thus was leading to an infinite loop in directory browsing.
- Fix a lovely bug coming from a non-documented feature in NTFS. To properly read the MFT index, you've to apply a mask. Do this to properly handles MFT record. This fixes returned MFT index which allows resuse.
- Do not allow returning MFT records < 0x10 for now. Not sure whether it should be allowed, but so far, these are MFT special records, so let's forget about it. IIRC, they are available on Windows. But trying to chase another bug for the moment.

This does not fix yet directory enumeration.


git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64793 97493ccd-5924-5043-b1f5-66cb403b36ce
[NTVDM]: simplify code and add a reference link concerning the CrtColorPaletteMask mask.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64794 97493ccd-5924-5043-b1f5-66cb403b36ce
[CMAKE]
* Make the minimum required version 2.8.
* Remove redundant psdk dependencies.
* Tidy up CMake files.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64795 97493ccd-5924-5043-b1f5-66cb403b36ce
[CDROM]
- Remove invalid frees. CID 511759.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64797 97493ccd-5924-5043-b1f5-66cb403b36ce
[MOUNTMGR]
- Fix IsDriveLetter. CID 1206760.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64798 97493ccd-5924-5043-b1f5-66cb403b36ce
[SHELL32]
- fix a copy paste error
CID 1101990

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64799 97493ccd-5924-5043-b1f5-66cb403b36ce
[NTFS]
Bugfixing... Part 5/X:
- Actually, we don't care about the name in the file index. We don't need it to read the data attribute, it's unnamed. And the returned name was buggy (this still needs work though)
- When we are getting a file record which is a directory, there is NO data attribute. Don't attempt to read it. This prevents failure on directory entry return.

These fixes enable NTFS directory listing in ReactOS!
Even though, more fixes are required. So far, the metadata of the files are kind of broken. Explorer seems to be unable to list files.
This keeps anyway being a major step forward, as this was totally impossible a month ago ;-).

For these willing to see NTFS in action in ReactOS: http://www.heisspiter.net/~Pierre/rostests/NTFS_listing.png


git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64800 97493ccd-5924-5043-b1f5-66cb403b36ce
[CMAKE]
* Let the minimum required CMake version be 2.8.12 so that *cough* people with old RosBE would be warned to update it! (I'm looking at you, Arch).

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64801 97493ccd-5924-5043-b1f5-66cb403b36ce
[FAST486]: Implement a basic support for the Trap Flag.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64803 97493ccd-5924-5043-b1f5-66cb403b36ce
[CMAKE]
* Fix inconsistencies around kernel mode dlls handling.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64804 97493ccd-5924-5043-b1f5-66cb403b36ce
[FRAMEBUF_NEW]
* Use set_module_type() instead of the combination of set_entrypoint(), set_subsystem() and set_image_base().

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64805 97493ccd-5924-5043-b1f5-66cb403b36ce
[BMFD]
* Use set_module_type() instead of the combination of set_entrypoint(), set_subsystem() and set_image_base().
* Remove the now redundant bugcodes dependency.
[FRAMEBUF_NEW]
* Remove redundant bugcodes dependency.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64806 97493ccd-5924-5043-b1f5-66cb403b36ce
[CMAKE/MSVC]
* Use the runtime checks globally in ReactOS now, not just for user mode modules.
* We no longer need the MS support lib, as Timo kindly implemented one for ReactOS.
* Rename the lib to runtmchk.
[PSEH][CRT]
* Remove some constrictions to seh.s source files, we no longer need them.
[KERNEL32]
* We no longer need to explicitly link to the runtime checks lib.
[FREELDR][KEYBOARD][NTOS][SETUPLDR]
* Link to the runtime checks lib when this mode is enabled.
CORE-8626

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64807 97493ccd-5924-5043-b1f5-66cb403b36ce
[CMAKE/MSVC]
* Rename the lib to runtmchk. Really.
CORE-8626

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64808 97493ccd-5924-5043-b1f5-66cb403b36ce
[USER32]
* We're not using any debugging routines here.

git-svn-id: svn://svn.reactos.org/reactos/trunk/reactos@64809 97493ccd-5924-5043-b1f5-66cb403b36ce