Switch to C++11 for Kaitai-generated parsers

This commit is contained in:
Nikolaj Schlej 2023-02-26 13:23:25 -08:00
parent 255742f371
commit 75bf036137
15 changed files with 316 additions and 745 deletions

View file

@ -6,15 +6,9 @@
intel_keym_v1_t::intel_keym_v1_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, intel_keym_v1_t* p__root) : kaitai::kstruct(p__io) {
m__parent = p__parent;
m__root = this; (void)p__root;
m_km_hash = 0;
m_key_signature = 0;
try {
_read();
} catch(...) {
_clean_up();
throw;
}
m_km_hash = nullptr;
m_key_signature = nullptr;
_read();
}
void intel_keym_v1_t::_read() {
@ -32,8 +26,8 @@ void intel_keym_v1_t::_read() {
m_km_version = m__io->read_u1();
m_km_svn = m__io->read_u1();
m_km_id = m__io->read_u1();
m_km_hash = new km_hash_t(m__io, this, m__root);
m_key_signature = new key_signature_t(m__io, this, m__root);
m_km_hash = std::unique_ptr<km_hash_t>(new km_hash_t(m__io, this, m__root));
m_key_signature = std::unique_ptr<key_signature_t>(new key_signature_t(m__io, this, m__root));
}
intel_keym_v1_t::~intel_keym_v1_t() {
@ -41,24 +35,12 @@ intel_keym_v1_t::~intel_keym_v1_t() {
}
void intel_keym_v1_t::_clean_up() {
if (m_km_hash) {
delete m_km_hash; m_km_hash = 0;
}
if (m_key_signature) {
delete m_key_signature; m_key_signature = 0;
}
}
intel_keym_v1_t::km_hash_t::km_hash_t(kaitai::kstream* p__io, intel_keym_v1_t* p__parent, intel_keym_v1_t* p__root) : kaitai::kstruct(p__io) {
m__parent = p__parent;
m__root = p__root;
try {
_read();
} catch(...) {
_clean_up();
throw;
}
_read();
}
void intel_keym_v1_t::km_hash_t::_read() {
@ -77,13 +59,7 @@ void intel_keym_v1_t::km_hash_t::_clean_up() {
intel_keym_v1_t::public_key_t::public_key_t(kaitai::kstream* p__io, intel_keym_v1_t::key_signature_t* p__parent, intel_keym_v1_t* p__root) : kaitai::kstruct(p__io) {
m__parent = p__parent;
m__root = p__root;
try {
_read();
} catch(...) {
_clean_up();
throw;
}
_read();
}
void intel_keym_v1_t::public_key_t::_read() {
@ -103,13 +79,7 @@ void intel_keym_v1_t::public_key_t::_clean_up() {
intel_keym_v1_t::signature_t::signature_t(kaitai::kstream* p__io, intel_keym_v1_t::key_signature_t* p__parent, intel_keym_v1_t* p__root) : kaitai::kstruct(p__io) {
m__parent = p__parent;
m__root = p__root;
try {
_read();
} catch(...) {
_clean_up();
throw;
}
_read();
}
void intel_keym_v1_t::signature_t::_read() {
@ -129,23 +99,17 @@ void intel_keym_v1_t::signature_t::_clean_up() {
intel_keym_v1_t::key_signature_t::key_signature_t(kaitai::kstream* p__io, intel_keym_v1_t* p__parent, intel_keym_v1_t* p__root) : kaitai::kstruct(p__io) {
m__parent = p__parent;
m__root = p__root;
m_public_key = 0;
m_signature = 0;
try {
_read();
} catch(...) {
_clean_up();
throw;
}
m_public_key = nullptr;
m_signature = nullptr;
_read();
}
void intel_keym_v1_t::key_signature_t::_read() {
m_version = m__io->read_u1();
m_key_id = m__io->read_u2le();
m_public_key = new public_key_t(m__io, this, m__root);
m_public_key = std::unique_ptr<public_key_t>(new public_key_t(m__io, this, m__root));
m_sig_scheme = m__io->read_u2le();
m_signature = new signature_t(m__io, this, m__root);
m_signature = std::unique_ptr<signature_t>(new signature_t(m__io, this, m__root));
}
intel_keym_v1_t::key_signature_t::~key_signature_t() {
@ -153,10 +117,4 @@ intel_keym_v1_t::key_signature_t::~key_signature_t() {
}
void intel_keym_v1_t::key_signature_t::_clean_up() {
if (m_public_key) {
delete m_public_key; m_public_key = 0;
}
if (m_signature) {
delete m_signature; m_signature = 0;
}
}