MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / SetError

Method SetError

externals/tinyxml2/tinyxml2.cpp:2497–2523  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2495
2496
2497void XMLDocument::SetError( XMLError error, int lineNum, const char* format, ... )
2498{
2499 TIXMLASSERT(error >= 0 && error < XML_ERROR_COUNT);
2500 _errorID = error;
2501 _errorLineNum = lineNum;
2502 _errorStr.Reset();
2503
2504 const size_t BUFFER_SIZE = 1000;
2505 char* buffer = new char[BUFFER_SIZE];
2506
2507 TIXMLASSERT(sizeof(error) <= sizeof(int));
2508 TIXML_SNPRINTF(buffer, BUFFER_SIZE, "Error=%s ErrorID=%d (0x%x) Line number=%d",
2509 ErrorIDToName(error), static_cast<int>(error), static_cast<unsigned int>(error), lineNum);
2510
2511 if (format) {
2512 size_t len = strlen(buffer);
2513 TIXML_SNPRINTF(buffer + len, BUFFER_SIZE - len, ": ");
2514 len = strlen(buffer);
2515
2516 va_list va;
2517 va_start(va, format);
2518 TIXML_VSNPRINTF(buffer + len, BUFFER_SIZE - len, format, va);
2519 va_end(va);
2520 }
2521 _errorStr.SetStr(buffer);
2522 delete[] buffer;
2523}
2524
2525
2526/*static*/ const char* XMLDocument::ErrorIDToName(XMLError errorID)

Callers 2

ParseDeepMethod · 0.80
ParseAttributesMethod · 0.80

Calls 4

TIXML_SNPRINTFFunction · 0.85
TIXML_VSNPRINTFFunction · 0.85
ResetMethod · 0.80
SetStrMethod · 0.80

Tested by

no test coverage detected