|
@@ -210,13 +210,11 @@ DriverFactoryBase::DriverFactoryBase(Dri
|
|
|
type(type), priority(priority), name(name), description(description)
|
|
|
{
|
|
|
/* Prefix the name with driver type to make it unique */
|
|
|
char buf[32];
|
|
|
strecpy(buf, GetDriverTypeName(type), lastof(buf));
|
|
|
strecpy(buf + 5, name, lastof(buf));
|
|
|
std::string typed_name = fmt::format("{}{}", GetDriverTypeName(type), name);
|
|
|
|
|
|
Drivers &drivers = GetDrivers();
|
|
|
assert(drivers.find(buf) == drivers.end());
|
|
|
drivers.insert(Drivers::value_type(buf, this));
|
|
|
assert(drivers.find(typed_name) == drivers.end());
|
|
|
drivers.insert(Drivers::value_type(typed_name, this));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -225,11 +223,9 @@ DriverFactoryBase::DriverFactoryBase(Dri
|
|
|
DriverFactoryBase::~DriverFactoryBase()
|
|
|
{
|
|
|
/* Prefix the name with driver type to make it unique */
|
|
|
char buf[32];
|
|
|
strecpy(buf, GetDriverTypeName(type), lastof(buf));
|
|
|
strecpy(buf + 5, this->name, lastof(buf));
|
|
|
std::string typed_name = fmt::format("{}{}", GetDriverTypeName(type), name);
|
|
|
|
|
|
Drivers::iterator it = GetDrivers().find(buf);
|
|
|
Drivers::iterator it = GetDrivers().find(typed_name);
|
|
|
assert(it != GetDrivers().end());
|
|
|
|
|
|
GetDrivers().erase(it);
|