From 84e007d9be2a8fe1b3dd050f53fde35f77860a62 Mon Sep 17 00:00:00 2001
From: Thomas Habets <thomas@habets.se>
Date: Wed, 12 Aug 2020 13:18:30 +0100
Subject: digital/qa_header: Remove manual memory management

---
 gr-digital/lib/qa_header_buffer.cc | 30 +++++++++++-------------------
 1 file changed, 11 insertions(+), 19 deletions(-)

(limited to 'gr-digital/lib/qa_header_buffer.cc')

diff --git a/gr-digital/lib/qa_header_buffer.cc b/gr-digital/lib/qa_header_buffer.cc
index 4b1690f9ac..3fa22e5883 100644
--- a/gr-digital/lib/qa_header_buffer.cc
+++ b/gr-digital/lib/qa_header_buffer.cc
@@ -15,15 +15,15 @@
 #include <gnuradio/attributes.h>
 #include <gnuradio/digital/header_buffer.h>
 #include <stdio.h>
-#include <volk/volk.h>
+#include <volk/volk_alloc.hh>
 #include <boost/test/unit_test.hpp>
 
 BOOST_AUTO_TEST_CASE(test_add8)
 {
     size_t len = sizeof(uint8_t);
-    uint8_t* buf = (uint8_t*)volk_malloc(len, volk_get_alignment());
+    volk::vector<uint8_t> buf(len);
 
-    gr::digital::header_buffer header(buf);
+    gr::digital::header_buffer header(buf.data());
     header.add_field8(0xAF);
 
     BOOST_REQUIRE_EQUAL(len, header.length());
@@ -31,18 +31,16 @@ BOOST_AUTO_TEST_CASE(test_add8)
 
     header.clear();
     BOOST_REQUIRE_EQUAL((size_t)0, header.length());
-
-    volk_free(buf);
 }
 
 BOOST_AUTO_TEST_CASE(test_add16)
 {
     size_t len = sizeof(uint16_t);
-    uint8_t* buf = (uint8_t*)volk_malloc(len, volk_get_alignment());
+    volk::vector<uint8_t> buf(len);
 
     uint16_t data = 0xAF5C;
 
-    gr::digital::header_buffer header(buf);
+    gr::digital::header_buffer header(buf.data());
     header.add_field16(data);
 
     // Test standard add of a uint16
@@ -72,18 +70,16 @@ BOOST_AUTO_TEST_CASE(test_add16)
     BOOST_REQUIRE_EQUAL((size_t)1, header.length());
     BOOST_REQUIRE_EQUAL((uint8_t)0x5C, header.header()[0]);
     header.clear();
-
-    volk_free(buf);
 }
 
 BOOST_AUTO_TEST_CASE(test_add32)
 {
     size_t len = sizeof(uint32_t);
-    uint8_t* buf = (uint8_t*)volk_malloc(len, volk_get_alignment());
+    volk::vector<uint8_t> buf(len);
 
     uint32_t data = 0xAF5C7654;
 
-    gr::digital::header_buffer header(buf);
+    gr::digital::header_buffer header(buf.data());
     header.add_field32(data);
 
     // Test standard add of a uint32
@@ -119,18 +115,16 @@ BOOST_AUTO_TEST_CASE(test_add32)
     BOOST_REQUIRE_EQUAL((uint8_t)0x76, header.header()[1]);
     BOOST_REQUIRE_EQUAL((uint8_t)0x5C, header.header()[2]);
     header.clear();
-
-    volk_free(buf);
 }
 
 BOOST_AUTO_TEST_CASE(test_add64)
 {
     size_t len = sizeof(uint64_t);
-    uint8_t* buf = (uint8_t*)volk_malloc(len, volk_get_alignment());
+    volk::vector<uint8_t> buf(len);
 
     uint64_t data = 0xAF5C765432104567;
 
-    gr::digital::header_buffer header(buf);
+    gr::digital::header_buffer header(buf.data());
     header.add_field64(data);
 
     // Test standard add of a uint64
@@ -181,16 +175,14 @@ BOOST_AUTO_TEST_CASE(test_add64)
     BOOST_REQUIRE_EQUAL((uint8_t)0x32, header.header()[3]);
     BOOST_REQUIRE_EQUAL((uint8_t)0x54, header.header()[4]);
     header.clear();
-
-    volk_free(buf);
 }
 
 BOOST_AUTO_TEST_CASE(test_add_many)
 {
     size_t len = (32 + 64 + 8 + 16 + 32) / 8;
-    uint8_t* buf = (uint8_t*)volk_malloc(len, volk_get_alignment());
+    volk::vector<uint8_t> buf(len);
 
-    gr::digital::header_buffer header(buf);
+    gr::digital::header_buffer header(buf.data());
     header.add_field32(0x01234567);
     header.add_field64(0x89ABCDEFFEDCBA98);
     header.add_field8(0x76);
-- 
cgit v1.2.3