summaryrefslogtreecommitdiffstats
path: root/libimaglink
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2016-02-15 13:19:34 +0100
committerMatthias Beyer <mail@beyermatthias.de>2016-03-11 15:15:02 +0100
commit277c31237ab6c4bedc6d78f52a8f0fc453149978 (patch)
treee543774c0426f0090dba5eab9b4a64d94280927c /libimaglink
parentb7a5f57e3af3bd79f6aa5bce4d5975343082dce0 (diff)
lib: Add remove_link()
Diffstat (limited to 'libimaglink')
-rw-r--r--libimaglink/src/internal.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/libimaglink/src/internal.rs b/libimaglink/src/internal.rs
index 18e4dfae..c34476c8 100644
--- a/libimaglink/src/internal.rs
+++ b/libimaglink/src/internal.rs
@@ -25,6 +25,13 @@ pub fn add_link(header: &mut EntryHeader, link: Link) -> Result<()> {
})
}
+pub fn remove_link(header: &mut EntryHeader, link: Link) -> Result<()> {
+ get_links(header).and_then(|mut links| {
+ links.remove(link);
+ set_links(header, links).map(|_| ())
+ })
+}
+
fn process_rw_result(links: StoreResult<Option<Value>>) -> Result<Links> {
if links.is_err() {
let lerr = LinkError::new(LinkErrorKind::EntryHeaderReadError,