From ce3e9fb511f0e112a7550eedb1f5576801c71f30 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 10 Nov 2014 18:19:00 -0500 Subject: [PATCH] embedding: cef_string_multimap_key() --- ports/cef/string_multimap.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/ports/cef/string_multimap.rs b/ports/cef/string_multimap.rs index 8b75045e888..6791d69a2e7 100644 --- a/ports/cef/string_multimap.rs +++ b/ports/cef/string_multimap.rs @@ -96,3 +96,21 @@ pub extern "C" fn cef_string_multimap_enumerate(smm: *mut cef_string_multimap_t, }) } } + +#[no_mangle] +pub extern "C" fn cef_string_multimap_key(smm: *mut cef_string_multimap_t, index: c_int, value: *mut cef_string_t) -> c_int { + unsafe { + if index < 0 || smm.is_null() { return 0; } + let v = string_multimap_to_treemap(smm); + let mut rem = index as uint; + + for (key, val) in (*v).iter() { + if rem < (*val).len() { + return cef_string_utf8_set((*key).as_bytes().as_ptr(), (*key).len() as u64, value, 1); + } else { + rem = rem - (*val).len(); + } + } + } + 0 +}