summaryrefslogtreecommitdiff
path: root/dselect
diff options
context:
space:
mode:
authorGuillem Jover <guillem@debian.org>2016-09-07 04:39:14 +0200
committerGuillem Jover <guillem@debian.org>2016-10-30 06:29:50 +0100
commit1fc6530294334e421c0da3652181eedd2669433e (patch)
tree050472903c0e33d47a1d59d2a004f5becc9361f6 /dselect
parent2ca60a4d810dac811613e2c17bb0c28fc523dad4 (diff)
downloaddpkg-1fc6530294334e421c0da3652181eedd2669433e.tar.gz
dselect: Add replacement new and delete array operators
Diffstat (limited to 'dselect')
-rw-r--r--dselect/cxx-support.cc23
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);
+}