Get rid of all sprintf calls

This commit is contained in:
sfan5 2022-02-26 11:18:19 +01:00
parent 00dd274510
commit 95af6d7c08
6 changed files with 17 additions and 26 deletions

View File

@ -1701,7 +1701,7 @@ bool CIrrDeviceLinux::activateJoysticks(core::array<SJoystickInfo> & joystickInf
for (joystick = 0; joystick < joystickInfo.size(); ++joystick) for (joystick = 0; joystick < joystickInfo.size(); ++joystick)
{ {
char logString[256]; char logString[256];
(void)sprintf(logString, "Found joystick %u, %u axes, %u buttons '%s'", snprintf_irr(logString, sizeof(logString), "Found joystick %d, %d axes, %d buttons '%s'",
joystick, joystickInfo[joystick].Axes, joystick, joystickInfo[joystick].Axes,
joystickInfo[joystick].Buttons, joystickInfo[joystick].Name.c_str()); joystickInfo[joystick].Buttons, joystickInfo[joystick].Name.c_str());
os::Printer::log(logString, ELL_INFORMATION); os::Printer::log(logString, ELL_INFORMATION);

View File

@ -846,9 +846,9 @@ bool CIrrDeviceSDL::activateJoysticks(core::array<SJoystickInfo> & joystickInfo)
for(joystick = 0; joystick < (int)joystickInfo.size(); ++joystick) for(joystick = 0; joystick < (int)joystickInfo.size(); ++joystick)
{ {
char logString[256]; char logString[256];
(void)sprintf(logString, "Found joystick %d, %d axes, %d buttons '%s'", snprintf_irr(logString, sizeof(logString), "Found joystick %d, %d axes, %d buttons '%s'",
joystick, joystickInfo[joystick].Axes, joystick, joystickInfo[joystick].Axes,
joystickInfo[joystick].Buttons, joystickInfo[joystick].Name.c_str()); joystickInfo[joystick].Buttons, joystickInfo[joystick].Name.c_str());
os::Printer::log(logString, ELL_INFORMATION); os::Printer::log(logString, ELL_INFORMATION);
} }

View File

@ -514,7 +514,7 @@ bool SJoystickWin32Control::activateJoysticks(core::array<SJoystickInfo> & joyst
for(joystick = 0; joystick < joystickInfo.size(); ++joystick) for(joystick = 0; joystick < joystickInfo.size(); ++joystick)
{ {
char logString[256]; char logString[256];
(void)sprintf(logString, "Found joystick %d, %d axes, %d buttons '%s'", snprintf_irr(logString, sizeof(logString), "Found joystick %d, %d axes, %d buttons '%s'",
joystick, joystickInfo[joystick].Axes, joystick, joystickInfo[joystick].Axes,
joystickInfo[joystick].Buttons, joystickInfo[joystick].Name.c_str()); joystickInfo[joystick].Buttons, joystickInfo[joystick].Name.c_str());
os::Printer::log(logString, ELL_INFORMATION); os::Printer::log(logString, ELL_INFORMATION);
@ -1096,12 +1096,12 @@ void CIrrDeviceWin32::resizeIfNecessary()
if (r.right < 2 || r.bottom < 2) if (r.right < 2 || r.bottom < 2)
{ {
sprintf(tmp, "Ignoring resize operation to (%ld %ld)", r.right, r.bottom); snprintf_irr(tmp, sizeof(tmp), "Ignoring resize operation to (%ld %ld)", r.right, r.bottom);
os::Printer::log(tmp); os::Printer::log(tmp);
} }
else else
{ {
sprintf(tmp, "Resizing window (%ld %ld)", r.right, r.bottom); snprintf_irr(tmp, sizeof(tmp), "Resizing window (%ld %ld)", r.right, r.bottom);
os::Printer::log(tmp); os::Printer::log(tmp);
getVideoDriver()->OnResize(irr::core::dimension2du((u32)r.right, (u32)r.bottom)); getVideoDriver()->OnResize(irr::core::dimension2du((u32)r.right, (u32)r.bottom));

View File

@ -1307,8 +1307,8 @@ bool CNullDriver::checkPrimitiveCount(u32 prmCount) const
if (prmCount > m) if (prmCount > m)
{ {
char tmp[1024]; char tmp[128];
sprintf(tmp,"Could not draw triangles, too many primitives(%u), maximum is %u.", prmCount, m); snprintf_irr(tmp, sizeof(tmp), "Could not draw triangles, too many primitives(%u), maximum is %u.", prmCount, m);
os::Printer::log(tmp, ELL_ERROR); os::Printer::log(tmp, ELL_ERROR);
return false; return false;
} }

View File

@ -73,21 +73,12 @@ core::stringw CProfiler::getAsString(const SProfileData& data) const
{ {
if ( data.getCallsCounter() > 0 ) if ( data.getCallsCounter() > 0 )
{ {
#ifdef _MSC_VER wchar_t dummy[512];
#pragma warning(disable:4996) // 'sprintf' was declared deprecated swprintf_irr(dummy, 512, L"%-15.15s%-12u%-12u%-12u%-12u",
#endif data.getName().c_str(), data.getCallsCounter(), data.getTimeSum(),
// Can't use swprintf as it fails on some platforms (especially mobile platforms)
// Can't use Irrlicht functions because we have no string formatting.
char dummy[1023];
sprintf(dummy, "%-15.15s%-12u%-12u%-12u%-12u",
core::stringc(data.getName()).c_str(), data.getCallsCounter(), data.getTimeSum(),
data.getTimeSum() / data.getCallsCounter(), data.getLongestTime()); data.getTimeSum() / data.getCallsCounter(), data.getLongestTime());
dummy[1022] = 0;
return core::stringw(dummy); return core::stringw(dummy);
#ifdef _MSC_VER
#pragma warning(default :4996) // 'sprintf' was declared deprecated
#endif
} }
else else
{ {

View File

@ -448,7 +448,7 @@ IReadFile* CZipReader::createAndOpenFile(u32 index)
//99 - AES encryption, WinZip 9 //99 - AES encryption, WinZip 9
const SZipFileEntry &e = FileInfo[Files[index].ID]; const SZipFileEntry &e = FileInfo[Files[index].ID];
wchar_t buf[64]; char buf[64];
s16 actualCompressionMethod=e.header.CompressionMethod; s16 actualCompressionMethod=e.header.CompressionMethod;
IReadFile* decrypted=0; IReadFile* decrypted=0;
u8* decryptedBuf=0; u8* decryptedBuf=0;
@ -470,7 +470,7 @@ IReadFile* CZipReader::createAndOpenFile(u32 index)
c8* pBuf = new c8[ uncompressedSize ]; c8* pBuf = new c8[ uncompressedSize ];
if (!pBuf) if (!pBuf)
{ {
swprintf_irr ( buf, 64, L"Not enough memory for decompressing %s", core::stringw(Files[index].FullName).c_str() ); snprintf_irr ( buf, 64, "Not enough memory for decompressing %s", Files[index].FullName.c_str() );
os::Printer::log( buf, ELL_ERROR); os::Printer::log( buf, ELL_ERROR);
if (decrypted) if (decrypted)
decrypted->drop(); decrypted->drop();
@ -483,7 +483,7 @@ IReadFile* CZipReader::createAndOpenFile(u32 index)
pcData = new u8[decryptedSize]; pcData = new u8[decryptedSize];
if (!pcData) if (!pcData)
{ {
swprintf_irr ( buf, 64, L"Not enough memory for decompressing %s", core::stringw(Files[index].FullName).c_str() ); snprintf_irr ( buf, 64, "Not enough memory for decompressing %s", Files[index].FullName.c_str() );
os::Printer::log( buf, ELL_ERROR); os::Printer::log( buf, ELL_ERROR);
delete [] pBuf; delete [] pBuf;
return 0; return 0;
@ -524,7 +524,7 @@ IReadFile* CZipReader::createAndOpenFile(u32 index)
if (err != Z_OK) if (err != Z_OK)
{ {
swprintf_irr ( buf, 64, L"Error decompressing %s", core::stringw(Files[index].FullName).c_str() ); snprintf_irr ( buf, 64, "Error decompressing %s", Files[index].FullName.c_str() );
os::Printer::log( buf, ELL_ERROR); os::Printer::log( buf, ELL_ERROR);
delete [] pBuf; delete [] pBuf;
return 0; return 0;
@ -551,7 +551,7 @@ IReadFile* CZipReader::createAndOpenFile(u32 index)
os::Printer::log("Decryption support not enabled. File cannot be read.", ELL_ERROR); os::Printer::log("Decryption support not enabled. File cannot be read.", ELL_ERROR);
return 0; return 0;
default: default:
swprintf_irr ( buf, 64, L"file has unsupported compression method. %s", core::stringw(Files[index].FullName).c_str() ); snprintf_irr ( buf, 64, "file has unsupported compression method. %s", Files[index].FullName.c_str() );
os::Printer::log( buf, ELL_ERROR); os::Printer::log( buf, ELL_ERROR);
return 0; return 0;
}; };