Pierre Schweitzer

[CDFS]

Fix returned data handling on directory enumeration.

Patch by Giannis Adamopoulos

CORE-13143

[MUP]

Properly define magic values for CCB and DFS

[FASTFAT]

When un/locking a volume, also handle VPB state

[DISK]

Fix size checking for IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, and only copy what's possible to fit in the buffer.

Also, make the code a bit more readable.

CORE-12858

    • -15
    • +21
    /trunk/reactos/drivers/storage/class/disk/disk.c
[DISK]

Fix return code when buffer is too small, as exposed in r74025.

CORE-12858

[KERNEL32_APITEST]

Add tests for DeviceIoControl. These are mainly used to test our storage stack

CORE-12858

    • -0
    • +68
    /trunk/rostests/apitests/kernel32/DeviceIoControl.c
[FASTFAT]

Finally fix a commented out check regarding directory type while opening a FAT volume

[FASTFAT]

Remove an useless check

[CABINET]

Fix handling of trailing backslash.

Patch by Thomas Faber.

ROSTESTS-135

    • -0
    • +13
    /trunk/reactos/dll/win32/cabinet/fdi.c
[KERNEL32]

Fix handling of trailing backslash.

Patch by Thomas Faber.

ROSTESTS-135

[FASTFAT]

Addendum to r73923: merge with Thomas' patch regarding that topic.

ROSTESTS-135

[FASTFAT]

Reject more broken file names on open/create.

Fixes a few kmtests:IoFilesystem tests

[NTOSKRNL]

Spotted with kmtest:IoFilesystem: these checks are not performed in free builds for kernel callers and are delegated to the FSD.

    • -0
    • +2
    /trunk/reactos/ntoskrnl/io/iomgr/iofunc.c
[REISERFS]

When compiling the driver with GCC, define __GCC__.

Fix defines accordingly.

CORE-12826

[EVENTVWR]

Don't attempt to free random address

CID 1401231

[SHELL32]

For the input string, WideCharToMultiByte takes a char count and not a buffer size.

CID 1401096, 1401088

    • -2
    • +6
    /trunk/reactos/dll/win32/shell32/CShellLink.cpp
[SHELL32]

Don't attempt to dereference a pointer after having freed it

CID 1401297

    • -2
    • +2
    /trunk/reactos/dll/win32/shell32/CShellLink.cpp
[WS2_32]

Remove duplicated if

CID 1400935

    • -7
    • +0
    /trunk/reactos/dll/win32/ws2_32/src/socklife.c
[DNSAPI]

Properly check for domain name being set

CID 1401070

    • -2
    • +2
    /trunk/reactos/dll/win32/dnsapi/dnsapi/query.c
[DNSAPI]

Properly check for domain name being set

CID 1401080

    • -1
    • +1
    /trunk/reactos/dll/win32/dnsapi/dnsapi/query.c
[FASTFAT]

Avoid uninit variable usage.

CID 1401257, 1401259

[FASTFAT]

Get rid of the ENTRY_DELETED2, ENTRY_VOLUME2 and ENTRY_END2 macros.

[FASTFAT]

Modify ReadVolumeLabel() so that it is able to read the volume label, even without using the VCB, the root FCB, Cc, the universe.

This is important, because in case of device verifying, you cannot rely on these elements anylonger, but you need to read the label.

A readme has been attached to the function, to indicate how to call it (I wish I could have put more asserts!). It's ugly, I know.

This allows fixing a FIXME in VfatVerify(): we can also check the volume label for FATX volumes.

The FIXME comment was misleading: MS FastFAT doesn't make any checksum or whatever of FAT root. Let's not do it.

[FASTFAT]

Move ReadVolumeLabel() to fsctl.c close to functions that need it

[FASTFAT]

Generalize the usage of functions pointers for FatX vs Fat specific code (direntry).

This should also help speeding up FastFAT.

[FASTFAT]

In the FCB, get rid of the FCB_IS_FATX_ENTRY flag. It makes no sense to have it on each and every file as the VCB already has such flag

[FASTFAT]

Fix a typo brought in r73819

[FASTFAT]

More FastFAT cleanup.

Except a light performances boost due to useless checks removal in read/write and to some functions inlining

More to follow...

[FASTFAT]

Thomas->happiness++;

[FASTFAT]

Fix a few ugly things.

Both Thomas & cppcheck should be happier now!