diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2016-02-15 13:19:34 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2016-03-11 15:15:02 +0100 |
commit | 277c31237ab6c4bedc6d78f52a8f0fc453149978 (patch) | |
tree | e543774c0426f0090dba5eab9b4a64d94280927c /libimaglink | |
parent | b7a5f57e3af3bd79f6aa5bce4d5975343082dce0 (diff) |
lib: Add remove_link()
Diffstat (limited to 'libimaglink')
-rw-r--r-- | libimaglink/src/internal.rs | 7 |
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, |