Skip to content

Commit fd04db4

Browse files
committed
This version compiles successfully; will test calling from Python later.
1 parent 2515e84 commit fd04db4

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

fstwrapper/src/set.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,8 @@ pub extern "C" fn fst_set_make_opbuilder(ptr: *mut Set) -> *mut set::OpBuilder<'
147147
make_free_fn!(fst_set_opbuilder_free, *mut set::OpBuilder);
148148

149149
#[no_mangle]
150-
pub extern "C" fn fst_set_make_opstreambuilder(ptr: *mut &set::Stream) -> *mut set::OpBuilder<'static> {
151-
let stream = unsafe { *Box::from_raw(ptr) };
152-
let ob = set::OpBuilder::new().add(stream);
150+
pub extern "C" fn fst_set_make_opstreambuilder() -> *mut set::OpBuilder<'static> {
151+
let ob = set::OpBuilder::new();
153152
to_raw_ptr(ob)
154153
}
155154
make_free_fn!(fst_set_opstreambuilder_free, *mut set::OpBuilder);
@@ -162,9 +161,9 @@ pub extern "C" fn fst_set_opbuilder_push(ptr: *mut set::OpBuilder, set_ptr: *mut
162161
}
163162

164163
#[no_mangle]
165-
pub extern "C" fn fst_set_opbuilder_push_stream(ptr: *mut set::OpBuilder, stream_ptr: *mut &set::Stream) {
166-
let stream = unsafe { *Box::from_raw(stream_ptr) };
164+
pub extern "C" fn fst_set_opbuilder_push_stream(ptr: *mut set::OpBuilder<'static>, stream_ptr: *mut set::Stream<'static>) {
167165
let ob = mutref_from_ptr!(ptr);
166+
let stream = unsafe { *Box::from_raw(stream_ptr) };
168167
ob.push(stream);
169168
}
170169

rust_fst/set.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ def __init__(self, ptr, as_stream=False):
6161
# once we call union/intersection/difference
6262
self.as_stream = as_stream
6363
if self.as_stream:
64-
self._ptr = lib.fst_set_make_opstreambuilder(ptr)
64+
self._ptr = lib.fst_set_make_opstreambuilder()
65+
lib.fst_set_opbuilder_push_stream(self._ptr, ptr)
6566
else:
6667
self._ptr = lib.fst_set_make_opbuilder(ptr)
6768

0 commit comments

Comments
 (0)