From 602f5de85eec2b32de56cd38d441f2af2d926e27 Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Tue, 19 Mar 2019 19:45:17 +0200 Subject: Proper init() implementation --- src/lib.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 0af03a6..a1e83fc 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,17 +1,21 @@ extern crate bchlib_sys as ffi; -pub fn init(m:i32, t:i32, poly: u32) { - unsafe { - let bch = ffi::init_bch(m, t, poly); +struct BCH(ffi::bch_control); + +impl BCH { + fn init(m: i32, t: i32, poly: u32) -> BCH { + let bch = unsafe { *ffi::init_bch(m, t, poly) }; + BCH(bch) } } + #[cfg(test)] mod tests { use super::*; #[test] fn it_works() { - init(); + let bch = BCH::init(5, 2, 0); } } -- cgit v1.3.1