From fe8a413fc0f5d7d021ec42ac1a4149db662ca92c Mon Sep 17 00:00:00 2001 From: Alexis Beingessner Date: Thu, 18 Sep 2014 17:05:52 -0400 Subject: handling fallout from entry api --- src/liburl/lib.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/liburl') diff --git a/src/liburl/lib.rs b/src/liburl/lib.rs index b5ffdef22e9..0b227b68ca8 100644 --- a/src/liburl/lib.rs +++ b/src/liburl/lib.rs @@ -23,6 +23,7 @@ #![feature(default_type_params)] use std::collections::HashMap; +use std::collections::hashmap::{Occupied, Vacant}; use std::fmt; use std::from_str::FromStr; use std::hash; @@ -342,8 +343,10 @@ pub fn decode_form_urlencoded(s: &[u8]) key: String, value: String) { if key.len() > 0 && value.len() > 0 { - let values = map.find_or_insert_with(key, |_| vec!()); - values.push(value); + match map.entry(key) { + Vacant(entry) => { entry.set(vec![value]); }, + Occupied(mut entry) => { entry.get_mut().push(value); }, + } } } -- cgit 1.4.1-3-g733a5