diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-03-28 20:20:54 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-03-28 23:25:13 +0300 |
commit | 75a5173176adfc4bc417c10df137d9ea8d90d403 (patch) | |
tree | 2d095e72f084ff96ee5ce3608453d98da0eda5d7 /src/utils/xml | |
parent | b6831b3b3053b1777402a35d8b3ae3cca2f62bc4 (diff) | |
download | manaplus-75a5173176adfc4bc417c10df137d9ea8d90d403.tar.gz manaplus-75a5173176adfc4bc417c10df137d9ea8d90d403.tar.bz2 manaplus-75a5173176adfc4bc417c10df137d9ea8d90d403.tar.xz manaplus-75a5173176adfc4bc417c10df137d9ea8d90d403.zip |
Change memory allocation in Virtfs::LoadFile from calloc to new.
Diffstat (limited to 'src/utils/xml')
-rw-r--r-- | src/utils/xml/libxml.cpp | 9 | ||||
-rw-r--r-- | src/utils/xml/pugixml.cpp | 17 | ||||
-rw-r--r-- | src/utils/xml/tinyxml2.cpp | 15 |
3 files changed, 21 insertions, 20 deletions
diff --git a/src/utils/xml/libxml.cpp b/src/utils/xml/libxml.cpp index 87fb2577d..7abed4a09 100644 --- a/src/utils/xml/libxml.cpp +++ b/src/utils/xml/libxml.cpp @@ -98,8 +98,9 @@ namespace XML valid = true; if (useResman == UseVirtFs_true) { - data = static_cast<char*>(VirtFs::loadFile( - filename.c_str(), size)); + data = VirtFs::loadFile( + filename.c_str(), + size); } else { @@ -119,7 +120,7 @@ namespace XML else { file.seekg(0, std::ios::beg); - data = static_cast<char*>(malloc(size)); + data = new char[size]; file.read(data, size); } file.close(); @@ -133,7 +134,7 @@ namespace XML if (data) { mDoc = xmlParseMemory(data, size); - free(data); + delete [] data; if (!mDoc) { diff --git a/src/utils/xml/pugixml.cpp b/src/utils/xml/pugixml.cpp index 6fada3605..a1ca7be70 100644 --- a/src/utils/xml/pugixml.cpp +++ b/src/utils/xml/pugixml.cpp @@ -76,8 +76,9 @@ namespace XML valid = true; if (useResman == UseVirtFs_true) { - data = static_cast<char*>(VirtFs::loadFile( - filename.c_str(), size)); + data = VirtFs::loadFile( + filename.c_str(), + size); } else { @@ -97,7 +98,7 @@ namespace XML else { file.seekg(0, std::ios::beg); - data = static_cast<char*>(malloc(size)); + data = new char[size]; file.read(data, size); } file.close(); @@ -119,7 +120,7 @@ namespace XML if (result.status != pugi::status_ok) { showErrorStatus(result); - free(data); + delete [] data; } else { @@ -145,7 +146,7 @@ namespace XML if (!data) return; - char *buf = static_cast<char*>(calloc(size + 1, 1)); + char *buf = new char[size + 1]; strncpy(buf, data, size); buf[size] = 0; pugi::xml_parse_result result = mDoc.load_buffer_inplace(buf, @@ -155,7 +156,7 @@ namespace XML if (result.status != pugi::status_ok) { showErrorStatus(result); - free(buf); + delete [] buf; } else { @@ -165,10 +166,8 @@ namespace XML Document::~Document() { - free(mData); + delete [] mData); mData = nullptr; -// if (mDoc) -// xmlFreeDoc(mDoc); } XmlNodePtr Document::rootNode() diff --git a/src/utils/xml/tinyxml2.cpp b/src/utils/xml/tinyxml2.cpp index 1c1f38493..7e2ef5ebb 100644 --- a/src/utils/xml/tinyxml2.cpp +++ b/src/utils/xml/tinyxml2.cpp @@ -68,8 +68,9 @@ namespace XML valid = true; if (useResman == UseVirtFs_true) { - data = static_cast<char*>(VirtFs::loadFile( - filename.c_str(), size)); + data = VirtFs::loadFile( + filename.c_str(), + size); } else { @@ -89,7 +90,7 @@ namespace XML else { file.seekg(0, std::ios::beg); - data = static_cast<char*>(malloc(size)); + data = new char[size]; file.read(data, size); } file.close(); @@ -108,7 +109,7 @@ namespace XML if (result != tinyxml2::XML_SUCCESS) { showErrorStatus(mDoc); - free(data); + delete [] data; } else { @@ -132,7 +133,7 @@ namespace XML if (!data) return; - char *buf = static_cast<char*>(calloc(size + 1, 1)); + char *buf = new char[size + 1]; strncpy(buf, data, size); buf[size] = 0; @@ -141,7 +142,7 @@ namespace XML if (result != tinyxml2::XML_SUCCESS) { showErrorStatus(mDoc); - free(buf); + delete [] buf; } else { @@ -151,7 +152,7 @@ namespace XML Document::~Document() { - free(mData); + delete [] mData; mData = nullptr; } |