aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends/solaris.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/backends/solaris.cpp')
-rw-r--r--Alc/backends/solaris.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/Alc/backends/solaris.cpp b/Alc/backends/solaris.cpp
index 5c378bff..5c12ad72 100644
--- a/Alc/backends/solaris.cpp
+++ b/Alc/backends/solaris.cpp
@@ -52,7 +52,7 @@ namespace {
constexpr ALCchar solaris_device[] = "Solaris Default";
-const char *solaris_driver = "/dev/audio";
+std::string solaris_driver{"/dev/audio"};
struct SolarisBackend final : public BackendBase {
@@ -149,10 +149,10 @@ ALCenum SolarisBackend::open(const ALCchar *name)
else if(strcmp(name, solaris_device) != 0)
return ALC_INVALID_VALUE;
- mFd = ::open(solaris_driver, O_WRONLY);
+ mFd = ::open(solaris_driver.c_str(), O_WRONLY);
if(mFd == -1)
{
- ERR("Could not open %s: %s\n", solaris_driver, strerror(errno));
+ ERR("Could not open %s: %s\n", solaris_driver.c_str(), strerror(errno));
return ALC_INVALID_VALUE;
}
@@ -267,7 +267,8 @@ BackendFactory &SolarisBackendFactory::getFactory()
bool SolarisBackendFactory::init()
{
- ConfigValueStr(nullptr, "solaris", "device", &solaris_driver);
+ if(auto devopt = ConfigValueStr(nullptr, "solaris", "device"))
+ solaris_driver = std::move(*devopt);
return true;
}
@@ -282,7 +283,7 @@ void SolarisBackendFactory::probe(DevProbe type, std::string *outnames)
{
#ifdef HAVE_STAT
struct stat buf;
- if(stat(solaris_driver, &buf) == 0)
+ if(stat(solaris_driver.c_str(), &buf) == 0)
#endif
outnames->append(solaris_device, sizeof(solaris_device));
}