From 32d6cff440bc88efbf2fd73b065a19fe01e4d80f Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 10 Nov 2014 18:20:03 -0500 Subject: [PATCH] embedding: cef_string_multimap_clear() --- ports/cef/string_multimap.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ports/cef/string_multimap.rs b/ports/cef/string_multimap.rs index 7f4af997da9..fac3c52821b 100644 --- a/ports/cef/string_multimap.rs +++ b/ports/cef/string_multimap.rs @@ -133,3 +133,19 @@ pub extern "C" fn cef_string_multimap_value(smm: *mut cef_string_multimap_t, ind } 0 } + +#[no_mangle] +pub extern "C" fn cef_string_multimap_clear(smm: *mut cef_string_multimap_t) { + unsafe { + if smm.is_null() { return; } + let v = string_multimap_to_treemap(smm); + if (*v).len() == 0 { return; } + for (_, val) in (*v).iter_mut() { + while (*val).len() != 0 { + let cs = (*val).pop(); + cef_string_userfree_utf8_free(cs.unwrap()); + } + } + (*v).clear(); + } +}