Fixed a small bug in IopInitializeBuiltinDriver.
authorFilip Navara <filip.navara@gmail.com>
Thu, 16 Oct 2003 17:59:48 +0000 (17:59 +0000)
committerFilip Navara <filip.navara@gmail.com>
Thu, 16 Oct 2003 17:59:48 +0000 (17:59 +0000)
svn path=/trunk/; revision=6338

reactos/ntoskrnl/io/driver.c

index a3524ac..6298009 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: driver.c,v 1.26 2003/10/16 14:49:05 ekohl Exp $
+/* $Id: driver.c,v 1.27 2003/10/16 17:59:48 navaraf Exp $
  *
  * COPYRIGHT:      See COPYING in the top level directory
  * PROJECT:        ReactOS kernel
@@ -438,6 +438,7 @@ IopInitializeBuiltinDriver(
    NTSTATUS Status;
    CHAR TextBuffer[256];
    PCHAR FileNameWithoutPath;
+   LPWSTR FileExtension;
 
    DPRINT("Initializing driver '%s' at %08lx, length 0x%08lx\n",
       FileName, ModuleLoadBase, ModuleLength);
@@ -466,11 +467,13 @@ IopInitializeBuiltinDriver(
    }
 
    /*
-    * Generate filename without patch (not needed by freeldr)
+    * Generate filename without path (not needed by freeldr)
     */
    FileNameWithoutPath = strrchr(FileName, '\\');
    if (FileNameWithoutPath == NULL)
+   {
       FileNameWithoutPath = FileName;
+   }
 
    /*
     * Load the module
@@ -487,6 +490,16 @@ IopInitializeBuiltinDriver(
       return STATUS_UNSUCCESSFUL;
    }
 
+   /*
+    * Strip the file extension from ServiceName
+    */
+   FileExtension = wcsrchr(DeviceNode->ServiceName.Buffer, '.');
+   if (FileExtension != NULL)
+   {
+      DeviceNode->ServiceName.Length -= wcslen(DeviceNode->ServiceName.Buffer);
+      FileExtension[0] = 0;
+   }
+
    /*
     * Initialize the driver
     */