From bab0b71a9a170a7f7da8d622d09c54f53d6e2062 Mon Sep 17 00:00:00 2001 From: Kai Bleeke <bleeke@ibr.cs.tu-bs.de> Date: Tue, 10 Mar 2020 15:20:12 +0100 Subject: [PATCH] I write one file of C++ code and of course I forgot to free my memory --- blockchain-sys/src/bindings.rs | 3 +++ libblockchain/src/lib.cpp | 4 ++++ libblockchain/src/lib.h | 2 ++ program/src/main.rs | 1 + 4 files changed, 10 insertions(+) diff --git a/blockchain-sys/src/bindings.rs b/blockchain-sys/src/bindings.rs index 454d6b9..b6a150d 100644 --- a/blockchain-sys/src/bindings.rs +++ b/blockchain-sys/src/bindings.rs @@ -55,3 +55,6 @@ extern "C" { extern "C" { pub fn libbc_blockchain_print(bc: *mut LibBcBlockchain); } +extern "C" { + pub fn libbc_delete_blockchain(bc: *mut LibBcBlockchain); +} diff --git a/libblockchain/src/lib.cpp b/libblockchain/src/lib.cpp index c1d2b5d..60b5937 100644 --- a/libblockchain/src/lib.cpp +++ b/libblockchain/src/lib.cpp @@ -38,4 +38,8 @@ void libbc_blockchain_add(LibBcBlockchain *bc, uint64_t id, struct LibBcPayload void libbc_blockchain_print(LibBcBlockchain *bc) { bc->print(); +} + +void libbc_delete_blockchain(LibBcBlockchain *bc) { + delete bc; } \ No newline at end of file diff --git a/libblockchain/src/lib.h b/libblockchain/src/lib.h index ff839d1..35a2b9d 100644 --- a/libblockchain/src/lib.h +++ b/libblockchain/src/lib.h @@ -33,6 +33,8 @@ extern "C" void libbc_blockchain_add(LibBcBlockchain *bc, uint64_t id, struct LibBcPayload payload); void libbc_blockchain_print(LibBcBlockchain *bc); + void libbc_delete_blockchain(LibBcBlockchain *bc); + #ifdef __cplusplus } #endif \ No newline at end of file diff --git a/program/src/main.rs b/program/src/main.rs index 313abb1..d0f25a4 100644 --- a/program/src/main.rs +++ b/program/src/main.rs @@ -38,5 +38,6 @@ fn main() { unsafe { blockchain_sys::libbc_blockchain_print(blockchain.inner); + blockchain_sys::libbc_delete_blockchain(blockchain.inner); } } -- GitLab