[librsvg] handle::load_extern() - return a Result
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg] handle::load_extern() - return a Result
- Date: Tue, 27 Nov 2018 00:24:23 +0000 (UTC)
commit 1df15f73ebc386d2a175b8bd9079dabce5f3b2bd
Author: Federico Mena Quintero <federico gnome org>
Date: Mon Nov 26 14:11:15 2018 -0600
handle::load_extern() - return a Result
rsvg_internals/src/defs.rs | 10 +++-------
rsvg_internals/src/handle.rs | 12 ++++++++++--
2 files changed, 13 insertions(+), 9 deletions(-)
---
diff --git a/rsvg_internals/src/defs.rs b/rsvg_internals/src/defs.rs
index 8bcf86fb..b743995d 100644
--- a/rsvg_internals/src/defs.rs
+++ b/rsvg_internals/src/defs.rs
@@ -60,13 +60,9 @@ impl Defs {
Some(uri) => match self.externs.entry(uri) {
Entry::Occupied(e) => Ok(*(e.get())),
Entry::Vacant(e) => {
- let extern_handle = handle::load_extern(handle, e.key());
- if extern_handle.is_null() {
- Err(())
- } else {
- e.insert(extern_handle);
- Ok(extern_handle)
- }
+ let extern_handle = handle::load_extern(handle, e.key())?;
+ e.insert(extern_handle);
+ Ok(extern_handle)
}
},
}
diff --git a/rsvg_internals/src/handle.rs b/rsvg_internals/src/handle.rs
index 720dee56..19de2795 100644
--- a/rsvg_internals/src/handle.rs
+++ b/rsvg_internals/src/handle.rs
@@ -92,8 +92,16 @@ pub fn resolve_uri(handle: *const RsvgHandle, uri: &str) -> Option<String> {
}
}
-pub fn load_extern(handle: *const RsvgHandle, uri: &str) -> *const RsvgHandle {
- unsafe { rsvg_handle_load_extern(handle, uri.to_glib_none().0) }
+pub fn load_extern(handle: *const RsvgHandle, uri: &str) -> Result<*const RsvgHandle, ()> {
+ unsafe {
+ let res = rsvg_handle_load_extern(handle, uri.to_glib_none().0);
+
+ if res.is_null() {
+ Err(())
+ } else {
+ Ok(res)
+ }
+ }
}
pub fn get_css_styles<'a>(handle: *const RsvgHandle) -> &'a CssStyles {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]