summaryrefslogtreecommitdiff
path: root/src/rust
diff options
context:
space:
mode:
Diffstat (limited to 'src/rust')
-rw-r--r--src/rust/protover/ffi.rs15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/rust/protover/ffi.rs b/src/rust/protover/ffi.rs
index ce28378326..c176968032 100644
--- a/src/rust/protover/ffi.rs
+++ b/src/rust/protover/ffi.rs
@@ -59,19 +59,26 @@ pub extern "C" fn protover_all_supported(
Err(_) => return 1,
};
- let (is_supported, unsupported) = all_supported(relay_version);
+ let relay_proto_entry: UnvalidatedProtoEntry = match relay_version.parse() {
+ Ok(n) => n,
+ Err(_) => return 1,
+ };
+ let maybe_unsupported: Option<UnvalidatedProtoEntry> = relay_proto_entry.all_supported();
- if unsupported.len() > 0 {
- let c_unsupported = match CString::new(unsupported) {
+ if maybe_unsupported.is_some() {
+ let unsupported: UnvalidatedProtoEntry = maybe_unsupported.unwrap();
+ let c_unsupported: CString = match CString::new(unsupported.to_string()) {
Ok(n) => n,
Err(_) => return 1,
};
let ptr = c_unsupported.into_raw();
unsafe { *missing_out = ptr };
+
+ return 0;
}
- return if is_supported { 1 } else { 0 };
+ 1
}
/// Provide an interface for C to translate arguments and return types for