From b5e8a552c09a1b9a1397e731cc6f54d427df9a67 Mon Sep 17 00:00:00 2001
From: Thomas Habets <thomas@habets.se>
Date: Fri, 10 Apr 2020 17:40:11 +0100
Subject: runtime: Remove most manual memory management

The remaining ones:
* `pmt_pool.cc`, which is a memory allocator so that makes sense
* the tricky and aptly named `sptr_magic.cc`.
---
 gnuradio-runtime/lib/message.cc | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

(limited to 'gnuradio-runtime/lib/message.cc')

diff --git a/gnuradio-runtime/lib/message.cc b/gnuradio-runtime/lib/message.cc
index fa8b1e3e85..ab5130a2d0 100644
--- a/gnuradio-runtime/lib/message.cc
+++ b/gnuradio-runtime/lib/message.cc
@@ -34,14 +34,13 @@ message::make_from_string(const std::string s, long type, double arg1, double ar
 }
 
 message::message(long type, double arg1, double arg2, size_t length)
-    : d_type(type), d_arg1(arg1), d_arg2(arg2)
+    : d_type(type), d_arg1(arg1), d_arg2(arg2), d_buf(length)
 {
     if (length == 0)
-        d_buf_start = d_msg_start = d_msg_end = d_buf_end = 0;
+        d_msg_start = d_msg_end = nullptr;
     else {
-        d_buf_start = new unsigned char[length];
-        d_msg_start = d_buf_start;
-        d_msg_end = d_buf_end = d_buf_start + length;
+        d_msg_start = d_buf.data();
+        d_msg_end = d_msg_start + length;
     }
     s_ncurrently_allocated++;
 }
@@ -49,8 +48,6 @@ message::message(long type, double arg1, double arg2, size_t length)
 message::~message()
 {
     assert(d_next == 0);
-    delete[] d_buf_start;
-    d_msg_start = d_msg_end = d_buf_end = 0;
     s_ncurrently_allocated--;
 }
 
-- 
cgit v1.2.3