@@ -138,7 +138,7 @@ impl<'a> Cmdline<'a> {
138138 ///
139139 /// Returns `false` if the parameter already existed with the same
140140 /// content.
141- pub fn add_or_modify ( & mut self , param : Parameter ) -> bool {
141+ pub fn add_or_modify ( & mut self , param : & Parameter ) -> bool {
142142 let mut new_params = Vec :: new ( ) ;
143143 let mut modified = false ;
144144 let mut seen_key = false ;
@@ -148,7 +148,7 @@ impl<'a> Cmdline<'a> {
148148 if !seen_key {
149149 // This is the first time we've seen this key.
150150 // We will replace it with the new parameter.
151- if p != param {
151+ if p != * param {
152152 modified = true ;
153153 }
154154 new_params. push ( param. parameter ) ;
@@ -184,12 +184,12 @@ impl<'a> Cmdline<'a> {
184184 /// Remove parameter(s) with the given key from the command line
185185 ///
186186 /// Returns `true` if parameter(s) were removed.
187- pub fn remove ( & mut self , key : ParameterKey ) -> bool {
187+ pub fn remove ( & mut self , key : & ParameterKey ) -> bool {
188188 let mut removed = false ;
189189 let mut new_params = Vec :: new ( ) ;
190190
191191 for p in self . iter ( ) {
192- if p. key == key {
192+ if p. key == * key {
193193 removed = true ;
194194 } else {
195195 new_params. push ( p. parameter ) ;
@@ -633,22 +633,22 @@ mod tests {
633633 let mut kargs = Cmdline :: from ( b"foo=bar" ) ;
634634
635635 // add new
636- assert ! ( kargs. add_or_modify( param( "baz" ) ) ) ;
636+ assert ! ( kargs. add_or_modify( & param( "baz" ) ) ) ;
637637 let mut iter = kargs. iter ( ) ;
638638 assert_eq ! ( iter. next( ) , Some ( param( "foo=bar" ) ) ) ;
639639 assert_eq ! ( iter. next( ) , Some ( param( "baz" ) ) ) ;
640640 assert_eq ! ( iter. next( ) , None ) ;
641641
642642 // modify existing
643- assert ! ( kargs. add_or_modify( param( "foo=fuz" ) ) ) ;
643+ assert ! ( kargs. add_or_modify( & param( "foo=fuz" ) ) ) ;
644644 iter = kargs. iter ( ) ;
645645 assert_eq ! ( iter. next( ) , Some ( param( "foo=fuz" ) ) ) ;
646646 assert_eq ! ( iter. next( ) , Some ( param( "baz" ) ) ) ;
647647 assert_eq ! ( iter. next( ) , None ) ;
648648
649649 // already exists with same value returns false and doesn't
650650 // modify anything
651- assert ! ( !kargs. add_or_modify( param( "foo=fuz" ) ) ) ;
651+ assert ! ( !kargs. add_or_modify( & param( "foo=fuz" ) ) ) ;
652652 iter = kargs. iter ( ) ;
653653 assert_eq ! ( iter. next( ) , Some ( param( "foo=fuz" ) ) ) ;
654654 assert_eq ! ( iter. next( ) , Some ( param( "baz" ) ) ) ;
@@ -658,14 +658,14 @@ mod tests {
658658 #[ test]
659659 fn test_add_or_modify_empty_cmdline ( ) {
660660 let mut kargs = Cmdline :: from ( b"" ) ;
661- assert ! ( kargs. add_or_modify( param( "foo" ) ) ) ;
661+ assert ! ( kargs. add_or_modify( & param( "foo" ) ) ) ;
662662 assert_eq ! ( kargs. 0 , b"foo" . as_slice( ) ) ;
663663 }
664664
665665 #[ test]
666666 fn test_add_or_modify_duplicate_parameters ( ) {
667667 let mut kargs = Cmdline :: from ( b"a=1 a=2" ) ;
668- assert ! ( kargs. add_or_modify( param( "a=3" ) ) ) ;
668+ assert ! ( kargs. add_or_modify( & param( "a=3" ) ) ) ;
669669 let mut iter = kargs. iter ( ) ;
670670 assert_eq ! ( iter. next( ) , Some ( param( "a=3" ) ) ) ;
671671 assert_eq ! ( iter. next( ) , None ) ;
@@ -676,14 +676,14 @@ mod tests {
676676 let mut kargs = Cmdline :: from ( b"foo bar baz" ) ;
677677
678678 // remove existing
679- assert ! ( kargs. remove( "bar" . into( ) ) ) ;
679+ assert ! ( kargs. remove( & "bar" . into( ) ) ) ;
680680 let mut iter = kargs. iter ( ) ;
681681 assert_eq ! ( iter. next( ) , Some ( param( "foo" ) ) ) ;
682682 assert_eq ! ( iter. next( ) , Some ( param( "baz" ) ) ) ;
683683 assert_eq ! ( iter. next( ) , None ) ;
684684
685685 // doesn't exist? returns false and doesn't modify anything
686- assert ! ( !kargs. remove( "missing" . into( ) ) ) ;
686+ assert ! ( !kargs. remove( & "missing" . into( ) ) ) ;
687687 iter = kargs. iter ( ) ;
688688 assert_eq ! ( iter. next( ) , Some ( param( "foo" ) ) ) ;
689689 assert_eq ! ( iter. next( ) , Some ( param( "baz" ) ) ) ;
@@ -693,7 +693,7 @@ mod tests {
693693 #[ test]
694694 fn test_remove_duplicates ( ) {
695695 let mut kargs = Cmdline :: from ( b"a=1 b=2 a=3" ) ;
696- assert ! ( kargs. remove( "a" . into( ) ) ) ;
696+ assert ! ( kargs. remove( & "a" . into( ) ) ) ;
697697 let mut iter = kargs. iter ( ) ;
698698 assert_eq ! ( iter. next( ) , Some ( param( "b=2" ) ) ) ;
699699 assert_eq ! ( iter. next( ) , None ) ;
0 commit comments