diff --git a/src/driver.cpp b/src/driver.cpp --- a/src/driver.cpp +++ b/src/driver.cpp @@ -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);