mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-06-13 00:58:29 +02:00
Some tidy up of sprintf to StringFromFormat
This commit is contained in:
@ -2,6 +2,7 @@
|
||||
|
||||
#include "CDUtils.h"
|
||||
#include "Common.h"
|
||||
#include "StringUtil.h"
|
||||
|
||||
#include <memory> // for std::unique_ptr
|
||||
#ifdef _WIN32
|
||||
@ -150,10 +151,10 @@ static struct
|
||||
};
|
||||
|
||||
// Returns true if a device is a block or char device and not a symbolic link
|
||||
bool is_device(const char *source_name)
|
||||
bool is_device(const std::string& source_name)
|
||||
{
|
||||
struct stat buf;
|
||||
if (0 != lstat(source_name, &buf))
|
||||
if (0 != lstat(source_name.c_str(), &buf))
|
||||
return false;
|
||||
|
||||
return ((S_ISBLK(buf.st_mode) || S_ISCHR(buf.st_mode)) &&
|
||||
@ -161,17 +162,15 @@ bool is_device(const char *source_name)
|
||||
}
|
||||
|
||||
// Check a device to see if it is a DVD/CD-ROM drive
|
||||
static bool is_cdrom(const char *drive, char *mnttype)
|
||||
static bool is_cdrom(const std::string& drive, char *mnttype)
|
||||
{
|
||||
bool is_cd=false;
|
||||
int cdfd;
|
||||
|
||||
// Check if the device exists
|
||||
if (!is_device(drive))
|
||||
return(false);
|
||||
|
||||
bool is_cd=false;
|
||||
// If it does exist, verify that it is a cdrom/dvd drive
|
||||
cdfd = open(drive, (O_RDONLY|O_NONBLOCK), 0);
|
||||
int cdfd = open(drive.c_str(), (O_RDONLY|O_NONBLOCK), 0);
|
||||
if ( cdfd >= 0 )
|
||||
{
|
||||
#ifdef __linux__
|
||||
@ -186,21 +185,16 @@ static bool is_cdrom(const char *drive, char *mnttype)
|
||||
// Returns a pointer to an array of strings with the device names
|
||||
std::vector<std::string> cdio_get_devices ()
|
||||
{
|
||||
unsigned int i;
|
||||
char drive[40];
|
||||
std::vector<std::string> drives;
|
||||
|
||||
// Scan the system for DVD/CD-ROM drives.
|
||||
for ( i=0; checklist[i].format; ++i )
|
||||
for (unsigned int i = 0; checklist[i].format; ++i)
|
||||
{
|
||||
unsigned int j;
|
||||
for ( j=checklist[i].num_min; j<=checklist[i].num_max; ++j )
|
||||
for (unsigned int j = checklist[i].num_min; j <= checklist[i].num_max; ++j)
|
||||
{
|
||||
sprintf(drive, checklist[i].format, j);
|
||||
if ( (is_cdrom(drive, NULL)) > 0 )
|
||||
std::string drive = StringFromFormat(checklist[i].format, j);
|
||||
if ( (is_cdrom(drive.c_str(), NULL)) > 0 )
|
||||
{
|
||||
std::string str = drive;
|
||||
drives.push_back(str);
|
||||
drives.push_back(std::move(drive));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -222,17 +216,5 @@ bool cdio_is_cdrom(std::string device)
|
||||
#endif
|
||||
|
||||
std::vector<std::string> devices = cdio_get_devices();
|
||||
bool res = false;
|
||||
for (auto& odevice : devices)
|
||||
{
|
||||
if (strncmp(odevice.c_str(), device.c_str(), MAX_PATH) == 0)
|
||||
{
|
||||
res = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
devices.clear();
|
||||
return res;
|
||||
return std::find(devices.begin(), devices.end(), device) != devices.end();;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user