From 31db6389617ad8416565cacce4a6d169f172fdc0 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 14 Oct 2014 15:23:20 -0400 Subject: [PATCH] embedding: cef_string_list_copy() --- ports/cef/string_list.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ports/cef/string_list.rs b/ports/cef/string_list.rs index f04862773a7..fdf7e6ddbd2 100644 --- a/ports/cef/string_list.rs +++ b/ports/cef/string_list.rs @@ -72,3 +72,16 @@ extern "C" fn cef_string_list_free(lt: *mut cef_string_list_t) { drop(v); } } + +#[no_mangle] +extern "C" fn cef_string_list_copy(lt: *mut cef_string_list_t) -> *mut cef_string_list_t { + unsafe { + if fptr_is_null(mem::transmute(lt)) { return 0 as *mut cef_string_list_t; } + let v: Box> = mem::transmute(lt); + let lt2 = cef_string_list_alloc(); + for cs in v.iter() { + cef_string_list_append(lt2, mem::transmute((*cs))); + } + lt2 + } +}