summaryrefslogtreecommitdiff
path: root/gr-digital/lib/hdlc_deframer_bp_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-digital/lib/hdlc_deframer_bp_impl.cc')
-rw-r--r--gr-digital/lib/hdlc_deframer_bp_impl.cc13
1 files changed, 5 insertions, 8 deletions
diff --git a/gr-digital/lib/hdlc_deframer_bp_impl.cc b/gr-digital/lib/hdlc_deframer_bp_impl.cc
index 3ceba38281..d394f19ed7 100644
--- a/gr-digital/lib/hdlc_deframer_bp_impl.cc
+++ b/gr-digital/lib/hdlc_deframer_bp_impl.cc
@@ -33,20 +33,17 @@ hdlc_deframer_bp_impl::hdlc_deframer_bp_impl(int length_min, int length_max)
gr::io_signature::make(0, 0, 0)),
d_length_min(length_min),
d_length_max(length_max),
+ d_pktbuf(length_max + 2),
d_port(pmt::mp("out"))
{
set_output_multiple(length_max * 2);
message_port_register_out(d_port);
- d_bytectr = 0;
- d_bitctr = 0;
- d_ones = 0;
- d_pktbuf = new unsigned char[length_max + 2];
}
/*
* Our virtual destructor.
*/
-hdlc_deframer_bp_impl::~hdlc_deframer_bp_impl() { delete[] d_pktbuf; }
+hdlc_deframer_bp_impl::~hdlc_deframer_bp_impl() {}
unsigned int hdlc_deframer_bp_impl::crc_ccitt(unsigned char* data, size_t len)
{
@@ -80,10 +77,10 @@ int hdlc_deframer_bp_impl::work(int noutput_items,
int len = d_bytectr - 2; // make Coverity happy
unsigned short crc =
d_pktbuf[d_bytectr - 1] << 8 | d_pktbuf[d_bytectr - 2];
- unsigned short calc_crc = crc_ccitt(d_pktbuf, len);
+ unsigned short calc_crc = crc_ccitt(d_pktbuf.data(), len);
if (crc == calc_crc) {
- pmt::pmt_t pdu(
- pmt::cons(pmt::PMT_NIL, pmt::make_blob(d_pktbuf, len)));
+ pmt::pmt_t pdu(pmt::cons(pmt::PMT_NIL,
+ pmt::make_blob(d_pktbuf.data(), len)));
message_port_pub(d_port, pdu);
} else {
}