--- deliantra/server/include/util.h 2008/04/30 16:26:28 1.72 +++ deliantra/server/include/util.h 2008/05/03 11:14:50 1.73 @@ -264,6 +264,35 @@ } }; +// makes dynamically allocated objects zero-initialised +struct slice_allocated +{ + void *operator new (size_t s, void *p) + { + return p; + } + + void *operator new (size_t s) + { + return salloc (s); + } + + void *operator new[] (size_t s) + { + return salloc (s); + } + + void operator delete (void *p, size_t s) + { + sfree ((char *)p, s); + } + + void operator delete[] (void *p, size_t s) + { + sfree ((char *)p, s); + } +}; + // a STL-compatible allocator that uses g_slice // boy, this is verbose template