https://git.reactos.org/?p=reactos.git;a=commitdiff;h=fc921423f35f442d419246...
commit fc921423f35f442d419246b1dbbaf1e3f651f978 Author: Pierre Schweitzer pierre@reactos.org AuthorDate: Sat Dec 23 09:34:34 2017 +0100
[VFD] Add support for installing driver from System32\drivers.
Patch by Doug Lyons.
CORE-14090 --- modules/rosapps/lib/vfdlib/vfdctl.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/modules/rosapps/lib/vfdlib/vfdctl.c b/modules/rosapps/lib/vfdlib/vfdctl.c index eb09da84d3..21672b9662 100644 --- a/modules/rosapps/lib/vfdlib/vfdctl.c +++ b/modules/rosapps/lib/vfdlib/vfdctl.c @@ -255,6 +255,10 @@ DWORD WINAPI VfdInstallDriver( DWORD len; DWORD ret = ERROR_SUCCESS;
+#ifdef __REACTOS__ + CHAR full_file_path[MAX_PATH]; +#endif + // get SystemRoot directory path
// len = GetEnvironmentVariable( @@ -270,6 +274,12 @@ DWORD WINAPI VfdInstallDriver(
inst_path = &system_dir[len];
+#ifdef __REACTOS__ + strcpy(full_file_path, system_dir); + strcat(full_file_path, VFD_INSTALL_DIRECTORY); + strcat(full_file_path, VFD_DRIVER_FILENAME); +#endif + #ifdef VFD_EMBED_DRIVER // // use embedded driver file @@ -342,6 +352,14 @@ DWORD WINAPI VfdInstallDriver( } }
+#ifdef __REACTOS__ + // Check install directory & file exist or use full_file_path + + if (GetFileAttributesA(file_path) == INVALID_FILE_ATTRIBUTES) { + strcpy(file_path, full_file_path); + } +#endif + // Check if the file is a valid Virtual Floppy driver
ret = VfdCheckDriverFile(file_path, NULL);