From fc921423f35f442d419246b1dbbaf1e3f651f978 Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Sat, 23 Dec 2017 09:34:34 +0100 Subject: [PATCH] [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 eb09da84d3e..21672b96621 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);