diff --git a/src/Memory/Memory.cpp b/src/Memory/Memory.cpp index 61279cb..6ab5032 100644 --- a/src/Memory/Memory.cpp +++ b/src/Memory/Memory.cpp @@ -102,6 +102,14 @@ Ptr NewPtrSys(Size byteCount) return new char[byteCount]; } +Ptr NewPtrClear(Size byteCount) +{ + if (byteCount < 0) throw std::invalid_argument("trying to NewPtrClear negative size"); + Ptr ptr = new char[byteCount]; + memset(ptr, 0, byteCount); + return ptr; +} + void DisposePtr(Ptr p) { delete[] p; diff --git a/src/Pomme.h b/src/Pomme.h index 63fdf12..3205126 100644 --- a/src/Pomme.h +++ b/src/Pomme.h @@ -312,6 +312,8 @@ Ptr NewPtr(Size); Ptr NewPtrSys(Size); +Ptr NewPtrClear(Size); + void DisposePtr(Ptr p); //-----------------------------------------------------------------------------