From 8fdb2286ae1e17b26d3d30aabf7e2977ab2906ba Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 7 Nov 2014 15:41:14 -0500 Subject: [PATCH] embedding: cef_string_map_key() --- ports/cef/string_map.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/ports/cef/string_map.rs b/ports/cef/string_map.rs index 589d0c5189e..6e3a229eb4d 100644 --- a/ports/cef/string_map.rs +++ b/ports/cef/string_map.rs @@ -76,3 +76,20 @@ pub extern "C" fn cef_string_map_find(sm: *mut cef_string_map_t, key: *const cef }) } } + +#[no_mangle] +pub extern "C" fn cef_string_map_key(sm: *mut cef_string_map_t, index: c_int, value: *mut cef_string_t) -> c_int { + unsafe { + if index < 0 || fptr_is_null(mem::transmute(sm)) { return 0; } + let v = string_map_to_treemap(sm); + if index as uint > (*v).len() - 1 { return 0; } + + for (i, k) in (*v).keys().enumerate() { + if i == index as uint { + cef_string_utf8_set(k.as_bytes().as_ptr(), k.len() as u64, value, 1); + return 1; + } + } + } + 0 +}