[ros-diffs] [reactos] 01/01: [URLMON] Convert urlmon.inf to utf8 since git insists on fucking up utf16 files.

2017-10-07 Thread Mark Jansen
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=48fe08654d7ee94baad7ae3768a095749cc81b29

commit 48fe08654d7ee94baad7ae3768a095749cc81b29
Author: Mark Jansen 
AuthorDate: Sat Oct 7 23:43:57 2017 +0200

[URLMON] Convert urlmon.inf to utf8 since git insists on fucking up utf16 
files.
---
 dll/win32/urlmon/CMakeLists.txt |  10 ++
 dll/win32/urlmon/urlmon.inf | Bin 55000 -> 27317 bytes
 dll/win32/urlmon/urlmon.rc  |   2 +-
 3 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/dll/win32/urlmon/CMakeLists.txt b/dll/win32/urlmon/CMakeLists.txt
index ab1765033a..6194ab7431 100644
--- a/dll/win32/urlmon/CMakeLists.txt
+++ b/dll/win32/urlmon/CMakeLists.txt
@@ -11,6 +11,16 @@ 
include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/wine)
 spec2def(urlmon.dll urlmon.spec ADD_IMPORTLIB)
 add_rpcproxy_files(urlmon_urlmon.idl)
 
+set(_source_file ${CMAKE_CURRENT_SOURCE_DIR}/urlmon.inf)
+set(_converted_file ${CMAKE_CURRENT_BINARY_DIR}/urlmon_utf16.inf)
+add_custom_command(
+OUTPUT "${_converted_file}"
+COMMAND native-utf16le "${_source_file}" "${_converted_file}"
+DEPENDS native-utf16le "${_source_file}")
+
+set_source_files_properties(${_converted_file} PROPERTIES GENERATED TRUE)
+set_source_files_properties(urlmon.rc PROPERTIES OBJECT_DEPENDS 
"${_converted_file}")
+
 list(APPEND SOURCE
 axinstall.c
 bindctx.c
diff --git a/dll/win32/urlmon/urlmon.inf b/dll/win32/urlmon/urlmon.inf
index 91d3af2e3c..d92f7ed107 100644
Binary files a/dll/win32/urlmon/urlmon.inf and b/dll/win32/urlmon/urlmon.inf 
differ
diff --git a/dll/win32/urlmon/urlmon.rc b/dll/win32/urlmon/urlmon.rc
index 098f398f6c..cea1099888 100644
--- a/dll/win32/urlmon/urlmon.rc
+++ b/dll/win32/urlmon/urlmon.rc
@@ -55,7 +55,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
 2 WINE_REGISTRY "urlmon_urlmon.rgs"
 
 /* @makedep: urlmon.inf */
-REGINST REGINST urlmon.inf
+REGINST REGINST urlmon_utf16.inf
 
 #define WINE_FILENAME_STR "urlmon.dll"
 #define WINE_FILEVERSION 6,0,2800,1485



[ros-diffs] [reactos] 01/01: Fix encoding of some INF files (-> UTF-8 without BOM).

2017-10-07 Thread Hermès Bélusca-Maïto
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=66c2299bfecc129fa30bac6e8ece8317b2eeaebe

commit 66c2299bfecc129fa30bac6e8ece8317b2eeaebe
Author: Hermès Bélusca-Maïto 
AuthorDate: Sat Oct 7 22:21:19 2017 +0200

Fix encoding of some INF files (-> UTF-8 without BOM).
---
 boot/bootdata/hivecls.inf   |   2 +-
 boot/bootdata/hivesft.inf   |   2 +-
 dll/win32/urlmon/urlmon.inf | Bin 54998 -> 55000 bytes
 3 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/boot/bootdata/hivecls.inf b/boot/bootdata/hivecls.inf
index cd67bc0c0d..d902ac5dca 100644
--- a/boot/bootdata/hivecls.inf
+++ b/boot/bootdata/hivecls.inf
@@ -1,4 +1,4 @@
-[Version]
+[Version]
 Signature="$ReactOS$"
 
 [AddReg]
diff --git a/boot/bootdata/hivesft.inf b/boot/bootdata/hivesft.inf
index 63a51ff0c1..75c395340f 100644
--- a/boot/bootdata/hivesft.inf
+++ b/boot/bootdata/hivesft.inf
@@ -1,4 +1,4 @@
-[Version]
+[Version]
 Signature="$ReactOS$"
 
 [AddReg]
diff --git a/dll/win32/urlmon/urlmon.inf b/dll/win32/urlmon/urlmon.inf
index e96103eaaa..91d3af2e3c 100644
Binary files a/dll/win32/urlmon/urlmon.inf and b/dll/win32/urlmon/urlmon.inf 
differ



[ros-diffs] [reactos] 01/01: [URLMON] Remove BOM from urlmon.inf

2017-10-07 Thread Mark Jansen
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=da27e0026a89253fcbb3b3930f85aba22e13d99a

commit da27e0026a89253fcbb3b3930f85aba22e13d99a
Author: Mark Jansen 
AuthorDate: Sat Oct 7 22:11:41 2017 +0200

[URLMON] Remove BOM from urlmon.inf
---
 dll/win32/urlmon/urlmon.inf | Bin 55000 -> 54998 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/dll/win32/urlmon/urlmon.inf b/dll/win32/urlmon/urlmon.inf
index 91d3af2e3c..e96103eaaa 100644
Binary files a/dll/win32/urlmon/urlmon.inf and b/dll/win32/urlmon/urlmon.inf 
differ



[ros-diffs] [reactos] 01/01: Fix typo

2017-10-07 Thread Aditya Giri
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=1600baa762948499a67384276d28eaaa7889

commit 1600baa762948499a67384276d28eaaa7889
Author: Aditya Giri 
AuthorDate: Sat Oct 7 22:13:17 2017 +0530

Fix typo
---
 README.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 4e01ecfecb..80825631ca 100644
--- a/README.md
+++ b/README.md
@@ -83,6 +83,6 @@ Also see the [CREDITS](CREDITS) file for others.
 
 ## Code mirrors
 
-The main development is done on [GitHub](https://github.com/reactos/reactos). 
We have an [alternative mirror](https://git.reactos.org/) it case GitHub is 
down. 
+The main development is done on [GitHub](https://github.com/reactos/reactos). 
We have an [alternative mirror](https://git.reactos.org/) in case GitHub is 
down. 
 
 There is also an obsolete [SVN archive 
repository](https://svn.reactos.org/svn/reactos?view=revision) that is kept for 
historical purposes.



[ros-diffs] [reactos] 01/01: [KERNEL32_APITEST]: Rewrite DeviceIoControl to test both disk.sys and cdrom.sys

2017-10-07 Thread Pierre Schweitzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ac8d04546131c5b54977a462de88ee22adb1b660

commit ac8d04546131c5b54977a462de88ee22adb1b660
Author: Pierre Schweitzer 
AuthorDate: Sat Oct 7 14:06:34 2017 +0200

[KERNEL32_APITEST]: Rewrite DeviceIoControl to test both disk.sys and 
cdrom.sys
---
 .../rostests/apitests/kernel32/DeviceIoControl.c   | 177 ++---
 1 file changed, 120 insertions(+), 57 deletions(-)

diff --git a/modules/rostests/apitests/kernel32/DeviceIoControl.c 
b/modules/rostests/apitests/kernel32/DeviceIoControl.c
index 2f993eb25e..faa10d5465 100644
--- a/modules/rostests/apitests/kernel32/DeviceIoControl.c
+++ b/modules/rostests/apitests/kernel32/DeviceIoControl.c
@@ -13,9 +13,13 @@
 
 WCHAR Letter;
 HANDLE Device;
+UINT DriveType;
+
+#define ok_type(condition, format, ...) ok(condition, "(%d): " format, 
DriveType,  ##__VA_ARGS__)
+#define skip_type(format, ...) skip("(%d): " format, DriveType, ##__VA_ARGS__)
 
 static
-VOID
+BOOL
 GetDiskGeometry(VOID)
 {
 UINT Ret;
@@ -25,32 +29,47 @@ GetDiskGeometry(VOID)
 
 Size = 0;
 Ret = DeviceIoControl(Device, IOCTL_DISK_GET_DRIVE_GEOMETRY, NULL, 0, , 
sizeof(DG) - 1, , NULL);
-ok(Ret == 0, "DeviceIoControl succeed\n");
+ok_type(Ret == 0, "DeviceIoControl succeed\n");
 Error = GetLastError();
-ok(Error == ERROR_INSUFFICIENT_BUFFER, "Expecting 
ERROR_INSUFFICIENT_BUFFER, got %ld\n", Error);
-ok(Size == 0, "Invalid output size: %ld\n", Size);
+ok_type(Error == ERROR_INSUFFICIENT_BUFFER, "Expecting 
ERROR_INSUFFICIENT_BUFFER, got %ld\n", Error);
+ok_type(Size == 0, "Invalid output size: %ld\n", Size);
 
 Size = 0;
 Ret = DeviceIoControl(Device, IOCTL_DISK_GET_DRIVE_GEOMETRY, NULL, 0, , 
sizeof(DG), , NULL);
-ok(Ret != 0, "DeviceIoControl failed: %ld\n", GetLastError());
-ok(Size == sizeof(DG), "Invalid output size: %ld\n", Size);
+/* Specific for CDROM, no disk present */
+if (Ret == 0 && GetLastError() == ERROR_NOT_READY)
+{
+skip_type("No CDROM present\n");
+return FALSE;
+}
+ok_type(Ret != 0, "DeviceIoControl failed: %ld\n", GetLastError());
+ok_type(Size == sizeof(DG), "Invalid output size: %ld\n", Size);
 
 Size = 0;
 Ret = DeviceIoControl(Device, IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, NULL, 0, 
, FIELD_OFFSET(DISK_GEOMETRY_EX, Data) - 1, , NULL);
-ok(Ret == 0, "DeviceIoControl succeed\n");
+ok_type(Ret == 0, "DeviceIoControl succeed\n");
 Error = GetLastError();
-ok(Error == ERROR_INSUFFICIENT_BUFFER, "Expecting 
ERROR_INSUFFICIENT_BUFFER, got %ld\n", Error);
-ok(Size == 0, "Invalid output size: %ld\n", Size);
+ok_type(Error == ERROR_INSUFFICIENT_BUFFER, "Expecting 
ERROR_INSUFFICIENT_BUFFER, got %ld\n", Error);
+ok_type(Size == 0, "Invalid output size: %ld\n", Size);
 
 Size = 0;
 Ret = DeviceIoControl(Device, IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, NULL, 0, 
, FIELD_OFFSET(DISK_GEOMETRY_EX, Data), , NULL);
-ok(Ret != 0, "DeviceIoControl failed: %ld\n", GetLastError());
-ok(Size == FIELD_OFFSET(DISK_GEOMETRY_EX, Data), "Invalid output size: 
%ld\n", Size);
+ok_type(Ret != 0, "DeviceIoControl failed: %ld\n", GetLastError());
+ok_type(Size == FIELD_OFFSET(DISK_GEOMETRY_EX, Data), "Invalid output 
size: %ld\n", Size);
 
 Size = 0;
 Ret = DeviceIoControl(Device, IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, NULL, 0, 
, sizeof(DGE), , NULL);
-ok(Ret != 0, "DeviceIoControl failed: %ld\n", GetLastError());
-ok(Size == sizeof(DGE), "Invalid output size: %ld\n", Size);
+ok_type(Ret != 0, "DeviceIoControl failed: %ld\n", GetLastError());
+if (DriveType == DRIVE_FIXED)
+{
+ok_type(Size == sizeof(DGE), "Invalid output size: %ld\n", Size);
+}
+else
+{
+ok_type(Size == FIELD_OFFSET(DISK_GEOMETRY_EX, Data), "Invalid output 
size: %ld\n", Size);
+}
+
+return TRUE;
 }
 
 static
@@ -64,36 +83,44 @@ QueryDeviceName(VOID)
 
 Size = 0;
 Ret = DeviceIoControl(Device, IOCTL_MOUNTDEV_QUERY_DEVICE_NAME, NULL, 0, 
, sizeof(MDN) - 1, , NULL);
-ok(Ret == 0, "DeviceIoControl succeed\n");
+ok_type(Ret == 0, "DeviceIoControl succeed\n");
 Error = GetLastError();
-ok(Error == ERROR_INVALID_PARAMETER, "Expecting ERROR_INVALID_PARAMETER, 
got %ld\n", Error);
-ok(Size == 0, "Invalid output size: %ld\n", Size);
+if (DriveType == DRIVE_FIXED)
+{
+ok_type(Error == ERROR_INVALID_PARAMETER, "Expecting 
ERROR_INVALID_PARAMETER, got %ld\n", Error);
+}
+else
+{
+ok_type(Error == ERROR_INSUFFICIENT_BUFFER, "Expecting 
ERROR_INSUFFICIENT_BUFFER, got %ld\n", Error);
+}
+ok_type(Size == 0, "Invalid output size: %ld\n", Size);
 
 Ret = DeviceIoControl(Device, IOCTL_MOUNTDEV_QUERY_DEVICE_NAME, NULL, 0, 
, sizeof(MDN), , NULL);
-ok(Ret == 0, "DeviceIoControl succeed\n");
+ok_type(Ret == 0, "DeviceIoControl succeed\n");
 Error = GetLastError();
-ok(Error == 

[ros-diffs] [reactos] 01/01: [MSI] Group translations into the lang folder.

2017-10-07 Thread Amine Khaldi
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=bd6e933ca59272862e4d59cba1c42762cad00935

commit bd6e933ca59272862e4d59cba1c42762cad00935
Author: Amine Khaldi 
AuthorDate: Sat Oct 7 12:32:05 2017 +0100

[MSI] Group translations into the lang folder.
---
 dll/win32/msi/{ => lang}/msi_Bg.rc | 0
 dll/win32/msi/{ => lang}/msi_Da.rc | 0
 dll/win32/msi/{ => lang}/msi_De.rc | 0
 dll/win32/msi/{ => lang}/msi_En.rc | 0
 dll/win32/msi/{ => lang}/msi_Es.rc | 0
 dll/win32/msi/{ => lang}/msi_Fi.rc | 0
 dll/win32/msi/{ => lang}/msi_Fr.rc | 0
 dll/win32/msi/{ => lang}/msi_He.rc | 0
 dll/win32/msi/{ => lang}/msi_Hu.rc | 0
 dll/win32/msi/{ => lang}/msi_It.rc | 0
 dll/win32/msi/{ => lang}/msi_Ja.rc | 0
 dll/win32/msi/{ => lang}/msi_Ko.rc | 0
 dll/win32/msi/{ => lang}/msi_Lt.rc | 0
 dll/win32/msi/{ => lang}/msi_Nl.rc | 0
 dll/win32/msi/{ => lang}/msi_No.rc | 0
 dll/win32/msi/{ => lang}/msi_Pl.rc | 0
 dll/win32/msi/{ => lang}/msi_Pt.rc | 0
 dll/win32/msi/{ => lang}/msi_Ro.rc | 0
 dll/win32/msi/{ => lang}/msi_Ru.rc | 0
 dll/win32/msi/{ => lang}/msi_Si.rc | 0
 dll/win32/msi/{ => lang}/msi_Sq.rc | 0
 dll/win32/msi/{ => lang}/msi_Sr.rc | 0
 dll/win32/msi/{ => lang}/msi_Sv.rc | 0
 dll/win32/msi/{ => lang}/msi_Tr.rc | 0
 dll/win32/msi/{ => lang}/msi_Uk.rc | 0
 dll/win32/msi/{ => lang}/msi_Zh.rc | 0
 26 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/dll/win32/msi/msi_Bg.rc b/dll/win32/msi/lang/msi_Bg.rc
similarity index 100%
rename from dll/win32/msi/msi_Bg.rc
rename to dll/win32/msi/lang/msi_Bg.rc
diff --git a/dll/win32/msi/msi_Da.rc b/dll/win32/msi/lang/msi_Da.rc
similarity index 100%
rename from dll/win32/msi/msi_Da.rc
rename to dll/win32/msi/lang/msi_Da.rc
diff --git a/dll/win32/msi/msi_De.rc b/dll/win32/msi/lang/msi_De.rc
similarity index 100%
rename from dll/win32/msi/msi_De.rc
rename to dll/win32/msi/lang/msi_De.rc
diff --git a/dll/win32/msi/msi_En.rc b/dll/win32/msi/lang/msi_En.rc
similarity index 100%
rename from dll/win32/msi/msi_En.rc
rename to dll/win32/msi/lang/msi_En.rc
diff --git a/dll/win32/msi/msi_Es.rc b/dll/win32/msi/lang/msi_Es.rc
similarity index 100%
rename from dll/win32/msi/msi_Es.rc
rename to dll/win32/msi/lang/msi_Es.rc
diff --git a/dll/win32/msi/msi_Fi.rc b/dll/win32/msi/lang/msi_Fi.rc
similarity index 100%
rename from dll/win32/msi/msi_Fi.rc
rename to dll/win32/msi/lang/msi_Fi.rc
diff --git a/dll/win32/msi/msi_Fr.rc b/dll/win32/msi/lang/msi_Fr.rc
similarity index 100%
rename from dll/win32/msi/msi_Fr.rc
rename to dll/win32/msi/lang/msi_Fr.rc
diff --git a/dll/win32/msi/msi_He.rc b/dll/win32/msi/lang/msi_He.rc
similarity index 100%
rename from dll/win32/msi/msi_He.rc
rename to dll/win32/msi/lang/msi_He.rc
diff --git a/dll/win32/msi/msi_Hu.rc b/dll/win32/msi/lang/msi_Hu.rc
similarity index 100%
rename from dll/win32/msi/msi_Hu.rc
rename to dll/win32/msi/lang/msi_Hu.rc
diff --git a/dll/win32/msi/msi_It.rc b/dll/win32/msi/lang/msi_It.rc
similarity index 100%
rename from dll/win32/msi/msi_It.rc
rename to dll/win32/msi/lang/msi_It.rc
diff --git a/dll/win32/msi/msi_Ja.rc b/dll/win32/msi/lang/msi_Ja.rc
similarity index 100%
rename from dll/win32/msi/msi_Ja.rc
rename to dll/win32/msi/lang/msi_Ja.rc
diff --git a/dll/win32/msi/msi_Ko.rc b/dll/win32/msi/lang/msi_Ko.rc
similarity index 100%
rename from dll/win32/msi/msi_Ko.rc
rename to dll/win32/msi/lang/msi_Ko.rc
diff --git a/dll/win32/msi/msi_Lt.rc b/dll/win32/msi/lang/msi_Lt.rc
similarity index 100%
rename from dll/win32/msi/msi_Lt.rc
rename to dll/win32/msi/lang/msi_Lt.rc
diff --git a/dll/win32/msi/msi_Nl.rc b/dll/win32/msi/lang/msi_Nl.rc
similarity index 100%
rename from dll/win32/msi/msi_Nl.rc
rename to dll/win32/msi/lang/msi_Nl.rc
diff --git a/dll/win32/msi/msi_No.rc b/dll/win32/msi/lang/msi_No.rc
similarity index 100%
rename from dll/win32/msi/msi_No.rc
rename to dll/win32/msi/lang/msi_No.rc
diff --git a/dll/win32/msi/msi_Pl.rc b/dll/win32/msi/lang/msi_Pl.rc
similarity index 100%
rename from dll/win32/msi/msi_Pl.rc
rename to dll/win32/msi/lang/msi_Pl.rc
diff --git a/dll/win32/msi/msi_Pt.rc b/dll/win32/msi/lang/msi_Pt.rc
similarity index 100%
rename from dll/win32/msi/msi_Pt.rc
rename to dll/win32/msi/lang/msi_Pt.rc
diff --git a/dll/win32/msi/msi_Ro.rc b/dll/win32/msi/lang/msi_Ro.rc
similarity index 100%
rename from dll/win32/msi/msi_Ro.rc
rename to dll/win32/msi/lang/msi_Ro.rc
diff --git a/dll/win32/msi/msi_Ru.rc b/dll/win32/msi/lang/msi_Ru.rc
similarity index 100%
rename from dll/win32/msi/msi_Ru.rc
rename to dll/win32/msi/lang/msi_Ru.rc
diff --git a/dll/win32/msi/msi_Si.rc b/dll/win32/msi/lang/msi_Si.rc
similarity index 100%
rename from dll/win32/msi/msi_Si.rc
rename to dll/win32/msi/lang/msi_Si.rc
diff --git a/dll/win32/msi/msi_Sq.rc b/dll/win32/msi/lang/msi_Sq.rc
similarity index 100%
rename from dll/win32/msi/msi_Sq.rc
rename to dll/win32/msi/lang/msi_Sq.rc
diff --git a/dll/win32/msi/msi_Sr.rc b/dll/win32/msi/lang/msi_Sr.rc
similarity index 100%
rename from dll/win32/msi/msi_Sr.rc
rename to 

[ros-diffs] [reactos] 01/01: Add modules/optional to .gitignore

2017-10-07 Thread Pierre Schweitzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=dcff3c92987104a4ee532e15d2666359c5fc9d27

commit dcff3c92987104a4ee532e15d2666359c5fc9d27
Author: Pierre Schweitzer 
AuthorDate: Sat Oct 7 13:26:01 2017 +0200

Add modules/optional to .gitignore
---
 .gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitignore b/.gitignore
index 3be9623e90..a9817100ac 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 output-*
+modules/optional



[ros-diffs] [reactos] 01/02: [KERNEL32_APITEST]: Add few tests for IOCTL_MOUNTDEV_QUERY_UNIQUE_ID

2017-10-07 Thread Pierre Schweitzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a6b61b855c49e5ce8a4503fa29b5ddbbbe55fe32

commit a6b61b855c49e5ce8a4503fa29b5ddbbbe55fe32
Author: Pierre Schweitzer 
AuthorDate: Sat Oct 7 12:09:27 2017 +0200

[KERNEL32_APITEST]: Add few tests for IOCTL_MOUNTDEV_QUERY_UNIQUE_ID
---
 .../rostests/apitests/kernel32/DeviceIoControl.c   | 38 ++
 1 file changed, 38 insertions(+)

diff --git a/modules/rostests/apitests/kernel32/DeviceIoControl.c 
b/modules/rostests/apitests/kernel32/DeviceIoControl.c
index a7edb8678a..ed1c6f7fa3 100644
--- a/modules/rostests/apitests/kernel32/DeviceIoControl.c
+++ b/modules/rostests/apitests/kernel32/DeviceIoControl.c
@@ -9,6 +9,7 @@
 #include 
 #include 
 #include 
+#include 
 
 WCHAR Letter;
 HANDLE Device;
@@ -110,6 +111,42 @@ QueryDeviceName(VOID)
 HeapFree(GetProcessHeap(), 0, AllocatedMDN);
 }
 
+static
+VOID
+QueryUniqueId(VOID)
+{
+UINT Ret;
+DWORD Size, Error;
+MOUNTDEV_UNIQUE_ID MUI, *AllocatedMUI;
+
+Ret = DeviceIoControl(Device, IOCTL_MOUNTDEV_QUERY_UNIQUE_ID, NULL, 0, 
, sizeof(MUI) - 1, , NULL);
+ok(Ret == 0, "DeviceIoControl succeed\n");
+Error = GetLastError();
+ok(Error == ERROR_INVALID_PARAMETER, "Expecting ERROR_INVALID_PARAMETER, 
got %ld\n", Error);
+ok(Size == 48 /* ?! */, "Invalid output size: %ld\n", Size);
+
+Ret = DeviceIoControl(Device, IOCTL_MOUNTDEV_QUERY_UNIQUE_ID, NULL, 0, 
, sizeof(MUI), , NULL);
+ok(Ret == 0, "DeviceIoControl succeed\n");
+Error = GetLastError();
+ok(Error == ERROR_MORE_DATA, "Expecting ERROR_MORE_DATA, got %ld\n", 
Error);
+ok(Size == sizeof(MOUNTDEV_UNIQUE_ID), "Invalid output size: %ld\n", Size);
+
+AllocatedMUI = HeapAlloc(GetProcessHeap(), 0, 
FIELD_OFFSET(MOUNTDEV_UNIQUE_ID, UniqueId) + MUI.UniqueIdLength + 
sizeof(UNICODE_NULL));
+if (AllocatedMUI == NULL)
+{
+skip("Memory allocation failure\n");
+return;
+}
+
+Size = 0;
+Ret = DeviceIoControl(Device, IOCTL_MOUNTDEV_QUERY_UNIQUE_ID, NULL, 0, 
AllocatedMUI, FIELD_OFFSET(MOUNTDEV_UNIQUE_ID, UniqueId) + MUI.UniqueIdLength, 
, NULL);
+ok(Ret != 0, "DeviceIoControl failed: %ld\n", GetLastError());
+ok(Size == FIELD_OFFSET(MOUNTDEV_UNIQUE_ID, UniqueId) + 
MUI.UniqueIdLength, "Invalid output size: %ld\n", Size);
+ok(AllocatedMUI->UniqueIdLength == MUI.UniqueIdLength, "Mismatching sizes: 
%d %d\n", AllocatedMUI->UniqueIdLength, MUI.UniqueIdLength);
+
+HeapFree(GetProcessHeap(), 0, AllocatedMUI);
+}
+
 START_TEST(DeviceIoControl)
 {
 UINT Ret;
@@ -137,6 +174,7 @@ START_TEST(DeviceIoControl)
 
 GetDiskGeometry();
 QueryDeviceName();
+QueryUniqueId();
 
 CloseHandle(Device);
 }



[ros-diffs] [reactos] 02/02: [KERNEL32_APITEST]: Fix uninit stack var usage

2017-10-07 Thread Pierre Schweitzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d3b4f09eb3610865e21f0e6f78eb9dea69adc695

commit d3b4f09eb3610865e21f0e6f78eb9dea69adc695
Author: Pierre Schweitzer 
AuthorDate: Sat Oct 7 12:11:17 2017 +0200

[KERNEL32_APITEST]: Fix uninit stack var usage
---
 modules/rostests/apitests/kernel32/DeviceIoControl.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/modules/rostests/apitests/kernel32/DeviceIoControl.c 
b/modules/rostests/apitests/kernel32/DeviceIoControl.c
index ed1c6f7fa3..2f993eb25e 100644
--- a/modules/rostests/apitests/kernel32/DeviceIoControl.c
+++ b/modules/rostests/apitests/kernel32/DeviceIoControl.c
@@ -62,11 +62,12 @@ QueryDeviceName(VOID)
 DWORD Size, Error;
 MOUNTDEV_NAME MDN, *AllocatedMDN;
 
+Size = 0;
 Ret = DeviceIoControl(Device, IOCTL_MOUNTDEV_QUERY_DEVICE_NAME, NULL, 0, 
, sizeof(MDN) - 1, , NULL);
 ok(Ret == 0, "DeviceIoControl succeed\n");
 Error = GetLastError();
 ok(Error == ERROR_INVALID_PARAMETER, "Expecting ERROR_INVALID_PARAMETER, 
got %ld\n", Error);
-ok(Size == 40 /* ?! */, "Invalid output size: %ld\n", Size);
+ok(Size == 0, "Invalid output size: %ld\n", Size);
 
 Ret = DeviceIoControl(Device, IOCTL_MOUNTDEV_QUERY_DEVICE_NAME, NULL, 0, 
, sizeof(MDN), , NULL);
 ok(Ret == 0, "DeviceIoControl succeed\n");
@@ -119,11 +120,12 @@ QueryUniqueId(VOID)
 DWORD Size, Error;
 MOUNTDEV_UNIQUE_ID MUI, *AllocatedMUI;
 
+Size = 0;
 Ret = DeviceIoControl(Device, IOCTL_MOUNTDEV_QUERY_UNIQUE_ID, NULL, 0, 
, sizeof(MUI) - 1, , NULL);
 ok(Ret == 0, "DeviceIoControl succeed\n");
 Error = GetLastError();
 ok(Error == ERROR_INVALID_PARAMETER, "Expecting ERROR_INVALID_PARAMETER, 
got %ld\n", Error);
-ok(Size == 48 /* ?! */, "Invalid output size: %ld\n", Size);
+ok(Size == 0, "Invalid output size: %ld\n", Size);
 
 Ret = DeviceIoControl(Device, IOCTL_MOUNTDEV_QUERY_UNIQUE_ID, NULL, 0, 
, sizeof(MUI), , NULL);
 ok(Ret == 0, "DeviceIoControl succeed\n");