diff options
author | Guillem Jover <guillem@debian.org> | 2016-09-07 04:39:14 +0200 |
---|---|---|
committer | Guillem Jover <guillem@debian.org> | 2016-10-30 06:29:50 +0100 |
commit | 1fc6530294334e421c0da3652181eedd2669433e (patch) | |
tree | 050472903c0e33d47a1d59d2a004f5becc9361f6 /dselect | |
parent | 2ca60a4d810dac811613e2c17bb0c28fc523dad4 (diff) | |
download | dpkg-1fc6530294334e421c0da3652181eedd2669433e.tar.gz |
dselect: Add replacement new and delete array operators
Diffstat (limited to 'dselect')
-rw-r--r-- | dselect/cxx-support.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/dselect/cxx-support.cc b/dselect/cxx-support.cc index 235a4a761..d850ed591 100644 --- a/dselect/cxx-support.cc +++ b/dselect/cxx-support.cc @@ -40,6 +40,17 @@ operator new(size_t size) DPKG_ATTR_THROW(std::bad_alloc) return p; } +extern void * +operator new[](size_t size) DPKG_ATTR_THROW(std::bad_alloc) +{ + void *p; + + p = m_malloc(size); + assert(p); + + return p; +} + extern void operator delete(void *p) DPKG_ATTR_NOEXCEPT { @@ -51,3 +62,15 @@ operator delete(void *p, size_t size) DPKG_ATTR_NOEXCEPT { free(p); } + +extern void +operator delete[](void *a) DPKG_ATTR_NOEXCEPT +{ + free(a); +} + +extern void +operator delete[](void *a, size_t size) DPKG_ATTR_NOEXCEPT +{ + free(a); +} |