Merge pull request #56 from Parlane/sprintf_tidy
Some tidy up of sprintf to StringFromFormat
This commit is contained in:
commit
079b1ba93d
|
@ -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,10 @@ bool cdio_is_cdrom(std::string device)
|
|||
#endif
|
||||
|
||||
std::vector<std::string> devices = cdio_get_devices();
|
||||
bool res = false;
|
||||
for (auto& odevice : devices)
|
||||
for (const std::string& d : devices)
|
||||
{
|
||||
if (strncmp(odevice.c_str(), device.c_str(), MAX_PATH) == 0)
|
||||
{
|
||||
res = true;
|
||||
break;
|
||||
}
|
||||
if (d == device)
|
||||
return true;
|
||||
}
|
||||
|
||||
devices.clear();
|
||||
return res;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -140,6 +140,10 @@ public:
|
|||
void SetLines(const char* sectionName, const std::vector<std::string> &lines);
|
||||
bool GetLines(const char* sectionName, std::vector<std::string>& lines, const bool remove_comments = true) const;
|
||||
|
||||
inline bool DeleteKey(const char* sectionName, const std::string& key)
|
||||
{
|
||||
return DeleteKey(sectionName, key.c_str());
|
||||
}
|
||||
bool DeleteKey(const char* sectionName, const char* key);
|
||||
bool DeleteSection(const char* sectionName);
|
||||
|
||||
|
|
|
@ -77,6 +77,8 @@ enum LOG_LEVELS
|
|||
LDEBUG = DEBUG_LEVEL,
|
||||
};
|
||||
|
||||
static const char LOG_LEVEL_TO_CHAR[7] = "-NEWID";
|
||||
|
||||
#define LOGTYPES_LEVELS LogTypes::LOG_LEVELS
|
||||
#define LOGTYPES_TYPE LogTypes::LOG_TYPE
|
||||
|
||||
|
|
|
@ -114,7 +114,6 @@ void LogManager::Log(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type,
|
|||
const char *file, int line, const char *format, va_list args)
|
||||
{
|
||||
char temp[MAX_MSGLEN];
|
||||
char msg[MAX_MSGLEN * 2];
|
||||
LogContainer *log = m_Log[type];
|
||||
|
||||
if (!log->IsEnabled() || level > log->GetLevel() || ! log->HasListeners())
|
||||
|
@ -122,15 +121,15 @@ void LogManager::Log(LogTypes::LOG_LEVELS level, LogTypes::LOG_TYPE type,
|
|||
|
||||
CharArrayFromFormatV(temp, MAX_MSGLEN, format, args);
|
||||
|
||||
static const char level_to_char[7] = "-NEWID";
|
||||
sprintf(msg, "%s %s:%u %c[%s]: %s\n",
|
||||
Common::Timer::GetTimeFormatted().c_str(),
|
||||
file, line, level_to_char[(int)level],
|
||||
log->GetShortName(), temp);
|
||||
std::string msg = StringFromFormat("%s %s:%u %c[%s]: %s\n",
|
||||
Common::Timer::GetTimeFormatted().c_str(),
|
||||
file, line,
|
||||
LogTypes::LOG_LEVEL_TO_CHAR[(int)level],
|
||||
log->GetShortName(), temp);
|
||||
#ifdef ANDROID
|
||||
Host_SysMessage(msg);
|
||||
Host_SysMessage(msg.c_str());
|
||||
#endif
|
||||
log->Trigger(level, msg);
|
||||
log->Trigger(level, msg.c_str());
|
||||
}
|
||||
|
||||
void LogManager::Init()
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "MemoryUtil.h"
|
||||
#include "MemArena.h"
|
||||
#include "StringUtil.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
|
@ -57,20 +58,21 @@ void MemArena::GrabLowMemSpace(size_t size)
|
|||
return;
|
||||
}
|
||||
#else
|
||||
char fn[64];
|
||||
for (int i = 0; i < 10000; i++)
|
||||
{
|
||||
sprintf(fn, "dolphinmem.%d", i);
|
||||
fd = shm_open(fn, O_RDWR | O_CREAT | O_EXCL, 0600);
|
||||
std::string file_name = StringFromFormat("dolphinmem.%d", i);
|
||||
fd = shm_open(file_name.c_str(), O_RDWR | O_CREAT | O_EXCL, 0600);
|
||||
if (fd != -1)
|
||||
{
|
||||
shm_unlink(file_name.c_str());
|
||||
break;
|
||||
if (errno != EEXIST)
|
||||
}
|
||||
else if (errno != EEXIST)
|
||||
{
|
||||
ERROR_LOG(MEMMAP, "shm_open failed: %s", strerror(errno));
|
||||
return;
|
||||
}
|
||||
}
|
||||
shm_unlink(fn);
|
||||
if (ftruncate(fd, size) < 0)
|
||||
ERROR_LOG(MEMMAP, "Failed to allocate low memory space");
|
||||
#endif
|
||||
|
|
|
@ -12,20 +12,16 @@ namespace Common
|
|||
|
||||
std::string GetTicketFileName(u64 _titleID)
|
||||
{
|
||||
char TicketFilename[1024];
|
||||
sprintf(TicketFilename, "%sticket/%08x/%08x.tik",
|
||||
File::GetUserPath(D_WIIUSER_IDX).c_str(), (u32)(_titleID >> 32), (u32)_titleID);
|
||||
|
||||
return TicketFilename;
|
||||
return StringFromFormat("%sticket/%08x/%08x.tik",
|
||||
File::GetUserPath(D_WIIUSER_IDX).c_str(),
|
||||
(u32)(_titleID >> 32), (u32)_titleID);
|
||||
}
|
||||
|
||||
std::string GetTitleDataPath(u64 _titleID)
|
||||
{
|
||||
char path[1024];
|
||||
sprintf(path, "%stitle/%08x/%08x/data/",
|
||||
File::GetUserPath(D_WIIUSER_IDX).c_str(), (u32)(_titleID >> 32), (u32)_titleID);
|
||||
|
||||
return path;
|
||||
return StringFromFormat("%stitle/%08x/%08x/data/",
|
||||
File::GetUserPath(D_WIIUSER_IDX).c_str(),
|
||||
(u32)(_titleID >> 32), (u32)_titleID);
|
||||
}
|
||||
|
||||
std::string GetTMDFileName(u64 _titleID)
|
||||
|
@ -34,11 +30,9 @@ std::string GetTMDFileName(u64 _titleID)
|
|||
}
|
||||
std::string GetTitleContentPath(u64 _titleID)
|
||||
{
|
||||
char ContentPath[1024];
|
||||
sprintf(ContentPath, "%stitle/%08x/%08x/content/",
|
||||
File::GetUserPath(D_WIIUSER_IDX).c_str(), (u32)(_titleID >> 32), (u32)_titleID);
|
||||
|
||||
return ContentPath;
|
||||
return StringFromFormat("%stitle/%08x/%08x/content/",
|
||||
File::GetUserPath(D_WIIUSER_IDX).c_str(),
|
||||
(u32)(_titleID >> 32), (u32)_titleID);
|
||||
}
|
||||
|
||||
bool CheckTitleTMD(u64 _titleID)
|
||||
|
|
|
@ -167,27 +167,23 @@ u64 Timer::GetLocalTimeSinceJan1970()
|
|||
std::string Timer::GetTimeFormatted()
|
||||
{
|
||||
time_t sysTime;
|
||||
struct tm * gmTime;
|
||||
char formattedTime[13];
|
||||
char tmp[13];
|
||||
|
||||
time(&sysTime);
|
||||
gmTime = localtime(&sysTime);
|
||||
|
||||
struct tm * gmTime = localtime(&sysTime);
|
||||
|
||||
char tmp[13];
|
||||
strftime(tmp, 6, "%M:%S", gmTime);
|
||||
|
||||
// Now tack on the milliseconds
|
||||
#ifdef _WIN32
|
||||
struct timeb tp;
|
||||
(void)::ftime(&tp);
|
||||
sprintf(formattedTime, "%s:%03i", tmp, tp.millitm);
|
||||
return StringFromFormat("%s:%03i", tmp, tp.millitm);
|
||||
#else
|
||||
struct timeval t;
|
||||
(void)gettimeofday(&t, NULL);
|
||||
sprintf(formattedTime, "%s:%03d", tmp, (int)(t.tv_usec / 1000));
|
||||
return StringFromFormat("%s:%03d", tmp, (int)(t.tv_usec / 1000));
|
||||
#endif
|
||||
|
||||
return std::string(formattedTime);
|
||||
}
|
||||
|
||||
// Returns a timestamp with decimals for precise time comparisons
|
||||
|
|
|
@ -161,7 +161,7 @@ bool CBoot::EmulatedBS2_GC()
|
|||
bool CBoot::SetupWiiMemory(IVolume::ECountry country)
|
||||
{
|
||||
static const CountrySetting SETTING_EUROPE = {"EUR", "PAL", "EU", "LE"};
|
||||
static const std::map<IVolume::ECountry, const CountrySetting&> country_settings = {
|
||||
static const std::map<IVolume::ECountry, const CountrySetting> country_settings = {
|
||||
{IVolume::COUNTRY_EUROPE, SETTING_EUROPE},
|
||||
{IVolume::COUNTRY_USA, {"USA", "NTSC", "US", "LU"}},
|
||||
{IVolume::COUNTRY_JAPAN, {"JPN", "NTSC", "JP", "LJ"}},
|
||||
|
|
|
@ -151,18 +151,14 @@ void SConfig::SaveSettings()
|
|||
ini.Get("General", "GCMPathes", &oldPaths, 0);
|
||||
for (int i = numPaths; i < oldPaths; i++)
|
||||
{
|
||||
char tmp[16];
|
||||
sprintf(tmp, "GCMPath%i", i);
|
||||
ini.DeleteKey("General", tmp);
|
||||
ini.DeleteKey("General", StringFromFormat("GCMPath%i", i));
|
||||
}
|
||||
|
||||
ini.Set("General", "GCMPathes", numPaths);
|
||||
ini.Set("General", "GCMPathes", numPaths);
|
||||
|
||||
for (int i = 0; i < numPaths; i++)
|
||||
{
|
||||
char tmp[16];
|
||||
sprintf(tmp, "GCMPath%i", i);
|
||||
ini.Set("General", tmp, m_ISOFolder[i]);
|
||||
ini.Set("General", StringFromFormat("GCMPath%i", i).c_str(), m_ISOFolder[i]);
|
||||
}
|
||||
|
||||
ini.Set("General", "RecursiveGCMPaths", m_RecursiveISOFolder);
|
||||
|
@ -249,13 +245,10 @@ void SConfig::SaveSettings()
|
|||
ini.Set("Core", "SlotB", m_EXIDevice[1]);
|
||||
ini.Set("Core", "SerialPort1", m_EXIDevice[2]);
|
||||
ini.Set("Core", "BBA_MAC", m_bba_mac);
|
||||
char sidevicenum[16];
|
||||
for (int i = 0; i < 4; ++i)
|
||||
{
|
||||
sprintf(sidevicenum, "SIDevice%i", i);
|
||||
ini.Set("Core", sidevicenum, m_SIDevice[i]);
|
||||
ini.Set("Core", StringFromFormat("SIDevice%i", i).c_str(), m_SIDevice[i]);
|
||||
}
|
||||
|
||||
ini.Set("Core", "WiiSDCard", m_WiiSDCard);
|
||||
ini.Set("Core", "WiiKeyboard", m_WiiKeyboard);
|
||||
ini.Set("Core", "WiimoteContinuousScanning", m_WiimoteContinuousScanning);
|
||||
|
@ -307,11 +300,9 @@ void SConfig::LoadSettings()
|
|||
{
|
||||
for (int i = 0; i < numGCMPaths; i++)
|
||||
{
|
||||
char tmp[16];
|
||||
sprintf(tmp, "GCMPath%i", i);
|
||||
std::string tmpPath;
|
||||
ini.Get("General", tmp, &tmpPath, "");
|
||||
m_ISOFolder.push_back(tmpPath);
|
||||
ini.Get("General", StringFromFormat("GCMPath%i", i).c_str(), &tmpPath, "");
|
||||
m_ISOFolder.push_back(std::move(tmpPath));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -410,13 +401,10 @@ void SConfig::LoadSettings()
|
|||
ini.Get("Core", "BBA_MAC", &m_bba_mac);
|
||||
ini.Get("Core", "TimeProfiling",&m_LocalCoreStartupParameter.bJITILTimeProfiling, false);
|
||||
ini.Get("Core", "OutputIR", &m_LocalCoreStartupParameter.bJITILOutputIR, false);
|
||||
char sidevicenum[16];
|
||||
for (int i = 0; i < 4; ++i)
|
||||
{
|
||||
sprintf(sidevicenum, "SIDevice%i", i);
|
||||
ini.Get("Core", sidevicenum, (u32*)&m_SIDevice[i], (i == 0) ? SIDEVICE_GC_CONTROLLER : SIDEVICE_NONE);
|
||||
ini.Get("Core", StringFromFormat("SIDevice%i", i).c_str(), (u32*)&m_SIDevice[i], (i == 0) ? SIDEVICE_GC_CONTROLLER : SIDEVICE_NONE);
|
||||
}
|
||||
|
||||
ini.Get("Core", "WiiSDCard", &m_WiiSDCard, false);
|
||||
ini.Get("Core", "WiiKeyboard", &m_WiiKeyboard, false);
|
||||
ini.Get("Core", "WiimoteContinuousScanning", &m_WiimoteContinuousScanning, false);
|
||||
|
|
|
@ -110,8 +110,6 @@ void CodeToHeader(const std::vector<u16> &code, std::string _filename,
|
|||
// Pad with nops to 32byte boundary
|
||||
while (code_padded.size() & 0x7f)
|
||||
code_padded.push_back(0);
|
||||
|
||||
char buffer[1024];
|
||||
header.clear();
|
||||
header.reserve(code_padded.size() * 4);
|
||||
header.append("#define NUM_UCODES 1\n\n");
|
||||
|
@ -125,8 +123,7 @@ void CodeToHeader(const std::vector<u16> &code, std::string _filename,
|
|||
{
|
||||
if (j && ((j & 15) == 0))
|
||||
header.append("\n\t\t");
|
||||
sprintf(buffer, "0x%04x, ", code_padded[j]);
|
||||
header.append(buffer);
|
||||
header.append(StringFromFormat("0x%04x, ", code_padded[j]));
|
||||
}
|
||||
header.append("\n\t},\n");
|
||||
|
||||
|
@ -137,7 +134,6 @@ void CodesToHeader(const std::vector<u16> *codes, const std::vector<std::string>
|
|||
u32 numCodes, const char *name, std::string &header)
|
||||
{
|
||||
std::vector<std::vector<u16> > codes_padded;
|
||||
char buffer[1024];
|
||||
u32 reserveSize = 0;
|
||||
for(u32 i = 0; i < numCodes; i++)
|
||||
{
|
||||
|
@ -148,20 +144,16 @@ void CodesToHeader(const std::vector<u16> *codes, const std::vector<std::string>
|
|||
|
||||
reserveSize += (u32)codes_padded.at(i).size();
|
||||
}
|
||||
|
||||
|
||||
header.clear();
|
||||
header.reserve(reserveSize * 4);
|
||||
sprintf(buffer, "#define NUM_UCODES %u\n\n", numCodes);
|
||||
header.append(buffer);
|
||||
header.append(StringFromFormat("#define NUM_UCODES %u\n\n", numCodes));
|
||||
header.append("const char* UCODE_NAMES[NUM_UCODES] = {\n");
|
||||
for (u32 i = 0; i < numCodes; i++)
|
||||
{
|
||||
std::string filename;
|
||||
if (! SplitPath(filenames->at(i), NULL, &filename, NULL))
|
||||
filename = filenames->at(i);
|
||||
sprintf(buffer, "\t\"%s\",\n", filename.c_str());
|
||||
header.append(buffer);
|
||||
header.append(StringFromFormat("\t\"%s\",\n", filename.c_str()));
|
||||
}
|
||||
header.append("};\n\n");
|
||||
header.append("const unsigned short dsp_code[NUM_UCODES][0x1000] = {\n");
|
||||
|
@ -176,8 +168,7 @@ void CodesToHeader(const std::vector<u16> *codes, const std::vector<std::string>
|
|||
{
|
||||
if (j && ((j & 15) == 0))
|
||||
header.append("\n\t\t");
|
||||
sprintf(buffer, "0x%04x, ", codes_padded.at(i).at(j));
|
||||
header.append(buffer);
|
||||
header.append(StringFromFormat("0x%04x, ", codes_padded.at(i).at(j)));
|
||||
}
|
||||
header.append("\n\t},\n");
|
||||
}
|
||||
|
|
|
@ -151,9 +151,7 @@ void PrintDataBuffer(LogTypes::LOG_TYPE type, u8* _pData, size_t _Size, const ch
|
|||
std::string Temp;
|
||||
for (int i = 0; i < 16; i++)
|
||||
{
|
||||
char Buffer[128];
|
||||
sprintf(Buffer, "%02x ", _pData[j++]);
|
||||
Temp.append(Buffer);
|
||||
Temp.append(StringFromFormat("%02x ", _pData[j++]));
|
||||
|
||||
if (j >= _Size)
|
||||
break;
|
||||
|
|
|
@ -192,9 +192,7 @@ protected:
|
|||
std::string Temp;
|
||||
for (u32 j = 0; j < InBufferSize; j++)
|
||||
{
|
||||
char Buffer[128];
|
||||
sprintf(Buffer, "%02x ", Memory::Read_U8(InBuffer+j));
|
||||
Temp.append(Buffer);
|
||||
Temp += StringFromFormat("%02x ", Memory::Read_U8(InBuffer+j));
|
||||
}
|
||||
|
||||
GENERIC_LOG(LogType, LogTypes::LDEBUG, " Buffer: %s", Temp.c_str());
|
||||
|
|
|
@ -54,9 +54,7 @@ std::string CVolumeGC::GetUniqueID() const
|
|||
|
||||
std::string CVolumeGC::GetRevisionSpecificUniqueID() const
|
||||
{
|
||||
char rev[16];
|
||||
sprintf(rev, "r%d", GetRevision());
|
||||
return GetUniqueID() + rev;
|
||||
return GetUniqueID() + StringFromFormat("r%d", GetRevision());
|
||||
}
|
||||
|
||||
IVolume::ECountry CVolumeGC::GetCountry() const
|
||||
|
|
|
@ -600,9 +600,10 @@ void VertexLoader::CompileVertexTranslator()
|
|||
|
||||
if (pFunc == 0)
|
||||
{
|
||||
char temp[256];
|
||||
sprintf(temp,"%i %i %i %i", m_VtxDesc.Normal, m_VtxAttr.NormalFormat, m_VtxAttr.NormalElements, m_VtxAttr.NormalIndex3);
|
||||
Host_SysMessage("VertexLoader_Normal::GetFunction returned zero!");
|
||||
Host_SysMessage(
|
||||
StringFromFormat("VertexLoader_Normal::GetFunction(%i %i %i %i) returned zero!",
|
||||
m_VtxDesc.Normal, m_VtxAttr.NormalFormat,
|
||||
m_VtxAttr.NormalElements, m_VtxAttr.NormalIndex3).c_str());
|
||||
}
|
||||
WriteCall(pFunc);
|
||||
|
||||
|
|
Loading…
Reference in New Issue