1
0
mirror of https://github.com/mfontanini/libtins synced 2026-01-23 02:35:57 +01:00

Added PDU::clone_pdu.

This commit is contained in:
Matias Fontanini
2011-09-03 00:13:31 -03:00
parent e37ba2bf2e
commit fdcefd2132
6 changed files with 141 additions and 7 deletions

View File

@@ -80,6 +80,19 @@ Tins::PDU *Tins::PDU::clone_inner_pdu(const uint8_t *ptr, uint32_t total_sz) {
return child;
}
Tins::PDU *Tins::PDU::clone_packet() const {
PDU *ret = clone_pdu();
if(ret) {
PDU *ptr = 0, *last = ret;
while(last && last->inner_pdu()) {
ptr = last->inner_pdu()->clone_pdu();
last->inner_pdu(ptr);
last = ptr;
}
}
return ret;
}
/* Static methods */
uint32_t Tins::PDU::do_checksum(uint8_t *start, uint8_t *end) {
uint32_t checksum(0);