mirror of
https://github.com/thunderbrewhq/squall.git
synced 2026-02-04 00:49:08 +00:00
feat(memory): add SMemZero
This commit is contained in:
parent
2efa5339e2
commit
60523c3fe8
3 changed files with 27 additions and 0 deletions
|
|
@ -70,3 +70,10 @@ void* SMemReAlloc(void* ptr, size_t bytes, const char* filename, int32_t linenum
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SMemZero(void* ptr, size_t bytes) {
|
||||||
|
uint8_t* ptrdata = static_cast<uint8_t*>(ptr);
|
||||||
|
for (size_t i = 0; i < bytes; i++) {
|
||||||
|
ptrdata[i] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,4 +18,6 @@ void SMemFree(void* ptr, const char* filename, int32_t linenumber, uint32_t flag
|
||||||
|
|
||||||
void* SMemReAlloc(void* ptr, size_t bytes, const char* filename, int32_t linenumber, uint32_t flags = 0);
|
void* SMemReAlloc(void* ptr, size_t bytes, const char* filename, int32_t linenumber, uint32_t flags = 0);
|
||||||
|
|
||||||
|
void SMemZero(void* ptr, size_t bytes);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -103,3 +103,21 @@ TEST_CASE("SMemReAlloc", "[memory]") {
|
||||||
SMemFree(ptr2);
|
SMemFree(ptr2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_CASE("SMemZero", "[memory]") {
|
||||||
|
std::vector<uint8_t> data = { 1, 255, 128, 42, 69, 99, 13, 37 };
|
||||||
|
|
||||||
|
SECTION("zeroes out memory") {
|
||||||
|
std::vector<uint8_t> result = { 0, 0, 0, 0, 0, 99, 13, 37 };
|
||||||
|
SMemZero(data.data(), 5);
|
||||||
|
|
||||||
|
CHECK_THAT(data, Catch::Matchers::Equals(result));
|
||||||
|
}
|
||||||
|
|
||||||
|
SECTION("does nothing if size is 0") {
|
||||||
|
std::vector<uint8_t> change = data;
|
||||||
|
SMemZero(change.data(), 0);
|
||||||
|
|
||||||
|
CHECK_THAT(change, Catch::Matchers::Equals(data));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue