Tidy up the source code

* Replaced push_back calls with emplace_back where applicable.
* Replaced size() == 0 and size() != 0 with empty() and !empty().
* Replaced C style loops for range for loops where applicable.
* Fixed mismatching arg names between function declarations and definitions.
* Replaced NULL and 0 (in the context of pointers) with nullptr.
* Remove unnecessary calls to string::c_str() where applicable.
* Replaced deprecated C headers with proper C++ headers.
* Removed unnecessary null pointer checks when deleting pointers
(deleting a null pointer has no effect).
* Fixed a potential memory leak in apngloader.cpp file.
* Replaced unsafe strcpy with strncpy in the demangle_name function.
This commit is contained in:
Kamil Chojnowski
2019-10-10 00:21:26 +02:00
parent caae18dbce
commit 869de6886f
59 changed files with 202 additions and 199 deletions

View File

@@ -44,20 +44,21 @@ namespace stdext {
const char* demangle_name(const char* name)
{
static const unsigned BufferSize = 1024;
static char Buffer[1024] = {};
#ifdef _MSC_VER
static char buffer[1024];
UnDecorateSymbolName(name, buffer, sizeof(buffer), UNDNAME_COMPLETE);
return buffer;
UnDecorateSymbolName(name, Buffer, BufferSize, UNDNAME_COMPLETE);
return Buffer;
#else
size_t len;
int status;
static char buffer[1024];
char* demangled = abi::__cxa_demangle(name, 0, &len, &status);
char* demangled = abi::__cxa_demangle(name, nullptr, &len, &status);
if(demangled) {
strcpy(buffer, demangled);
strncpy(Buffer, demangled, BufferSize);
free(demangled);
}
return buffer;
return Buffer;
#endif
}