mirror of
https://github.com/Fennix-Project/Kernel.git
synced 2025-05-28 07:24:37 +00:00
Add check for empty drivers list and print message if no drivers to load
This commit is contained in:
parent
0fd804abab
commit
d651dcbe7f
@ -34,6 +34,12 @@ namespace Driver
|
|||||||
{
|
{
|
||||||
void Manager::LoadAllDrivers()
|
void Manager::LoadAllDrivers()
|
||||||
{
|
{
|
||||||
|
if (Drivers.empty())
|
||||||
|
{
|
||||||
|
KPrint("\eFF0000No drivers to load");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
foreach (auto &var in Drivers)
|
foreach (auto &var in Drivers)
|
||||||
{
|
{
|
||||||
DriverObject *Drv = &var.second;
|
DriverObject *Drv = &var.second;
|
||||||
@ -506,15 +512,15 @@ namespace Driver
|
|||||||
{
|
{
|
||||||
debug("Initializing driver manager");
|
debug("Initializing driver manager");
|
||||||
const char *DriverDirectory = Config.DriverDirectory;
|
const char *DriverDirectory = Config.DriverDirectory;
|
||||||
RefNode *rn = fs->Open(DriverDirectory);
|
RefNode *drvDirNode = fs->Open(DriverDirectory);
|
||||||
if (!rn)
|
if (!drvDirNode)
|
||||||
{
|
{
|
||||||
error("Failed to open driver directory %s", DriverDirectory);
|
error("Failed to open driver directory %s", DriverDirectory);
|
||||||
KPrint("Failed to open driver directory %s", DriverDirectory);
|
KPrint("Failed to open driver directory %s", DriverDirectory);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (auto drvNode in rn->node->Children)
|
foreach (auto drvNode in drvDirNode->node->Children)
|
||||||
{
|
{
|
||||||
if (drvNode->Type != vfs::FILE)
|
if (drvNode->Type != vfs::FILE)
|
||||||
continue;
|
continue;
|
||||||
@ -558,7 +564,7 @@ namespace Driver
|
|||||||
strncpy(Drivers[countr].Name, drvName, sizeof(Drivers[countr].Name));
|
strncpy(Drivers[countr].Name, drvName, sizeof(Drivers[countr].Name));
|
||||||
}
|
}
|
||||||
|
|
||||||
delete rn;
|
delete drvDirNode;
|
||||||
|
|
||||||
InputMouseDev = new MasterDeviceFile("mice", "mouse", DevFS, ddt_Mouse);
|
InputMouseDev = new MasterDeviceFile("mice", "mouse", DevFS, ddt_Mouse);
|
||||||
InputKeyboardDev = new MasterDeviceFile("key", "kbd", DevFS, ddt_Keyboard);
|
InputKeyboardDev = new MasterDeviceFile("key", "kbd", DevFS, ddt_Keyboard);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user