@@ -138,7 +138,7 @@ impl<'a> Cmdline<'a> {
138
138
///
139
139
/// Returns `false` if the parameter already existed with the same
140
140
/// content.
141
- pub fn add_or_modify ( & mut self , param : Parameter ) -> bool {
141
+ pub fn add_or_modify ( & mut self , param : & Parameter ) -> bool {
142
142
let mut new_params = Vec :: new ( ) ;
143
143
let mut modified = false ;
144
144
let mut seen_key = false ;
@@ -148,7 +148,7 @@ impl<'a> Cmdline<'a> {
148
148
if !seen_key {
149
149
// This is the first time we've seen this key.
150
150
// We will replace it with the new parameter.
151
- if p != param {
151
+ if p != * param {
152
152
modified = true ;
153
153
}
154
154
new_params. push ( param. parameter ) ;
@@ -184,12 +184,12 @@ impl<'a> Cmdline<'a> {
184
184
/// Remove parameter(s) with the given key from the command line
185
185
///
186
186
/// 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 {
188
188
let mut removed = false ;
189
189
let mut new_params = Vec :: new ( ) ;
190
190
191
191
for p in self . iter ( ) {
192
- if p. key == key {
192
+ if p. key == * key {
193
193
removed = true ;
194
194
} else {
195
195
new_params. push ( p. parameter ) ;
@@ -633,22 +633,22 @@ mod tests {
633
633
let mut kargs = Cmdline :: from ( b"foo=bar" ) ;
634
634
635
635
// add new
636
- assert ! ( kargs. add_or_modify( param( "baz" ) ) ) ;
636
+ assert ! ( kargs. add_or_modify( & param( "baz" ) ) ) ;
637
637
let mut iter = kargs. iter ( ) ;
638
638
assert_eq ! ( iter. next( ) , Some ( param( "foo=bar" ) ) ) ;
639
639
assert_eq ! ( iter. next( ) , Some ( param( "baz" ) ) ) ;
640
640
assert_eq ! ( iter. next( ) , None ) ;
641
641
642
642
// modify existing
643
- assert ! ( kargs. add_or_modify( param( "foo=fuz" ) ) ) ;
643
+ assert ! ( kargs. add_or_modify( & param( "foo=fuz" ) ) ) ;
644
644
iter = kargs. iter ( ) ;
645
645
assert_eq ! ( iter. next( ) , Some ( param( "foo=fuz" ) ) ) ;
646
646
assert_eq ! ( iter. next( ) , Some ( param( "baz" ) ) ) ;
647
647
assert_eq ! ( iter. next( ) , None ) ;
648
648
649
649
// already exists with same value returns false and doesn't
650
650
// modify anything
651
- assert ! ( !kargs. add_or_modify( param( "foo=fuz" ) ) ) ;
651
+ assert ! ( !kargs. add_or_modify( & param( "foo=fuz" ) ) ) ;
652
652
iter = kargs. iter ( ) ;
653
653
assert_eq ! ( iter. next( ) , Some ( param( "foo=fuz" ) ) ) ;
654
654
assert_eq ! ( iter. next( ) , Some ( param( "baz" ) ) ) ;
@@ -658,14 +658,14 @@ mod tests {
658
658
#[ test]
659
659
fn test_add_or_modify_empty_cmdline ( ) {
660
660
let mut kargs = Cmdline :: from ( b"" ) ;
661
- assert ! ( kargs. add_or_modify( param( "foo" ) ) ) ;
661
+ assert ! ( kargs. add_or_modify( & param( "foo" ) ) ) ;
662
662
assert_eq ! ( kargs. 0 , b"foo" . as_slice( ) ) ;
663
663
}
664
664
665
665
#[ test]
666
666
fn test_add_or_modify_duplicate_parameters ( ) {
667
667
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" ) ) ) ;
669
669
let mut iter = kargs. iter ( ) ;
670
670
assert_eq ! ( iter. next( ) , Some ( param( "a=3" ) ) ) ;
671
671
assert_eq ! ( iter. next( ) , None ) ;
@@ -676,14 +676,14 @@ mod tests {
676
676
let mut kargs = Cmdline :: from ( b"foo bar baz" ) ;
677
677
678
678
// remove existing
679
- assert ! ( kargs. remove( "bar" . into( ) ) ) ;
679
+ assert ! ( kargs. remove( & "bar" . into( ) ) ) ;
680
680
let mut iter = kargs. iter ( ) ;
681
681
assert_eq ! ( iter. next( ) , Some ( param( "foo" ) ) ) ;
682
682
assert_eq ! ( iter. next( ) , Some ( param( "baz" ) ) ) ;
683
683
assert_eq ! ( iter. next( ) , None ) ;
684
684
685
685
// doesn't exist? returns false and doesn't modify anything
686
- assert ! ( !kargs. remove( "missing" . into( ) ) ) ;
686
+ assert ! ( !kargs. remove( & "missing" . into( ) ) ) ;
687
687
iter = kargs. iter ( ) ;
688
688
assert_eq ! ( iter. next( ) , Some ( param( "foo" ) ) ) ;
689
689
assert_eq ! ( iter. next( ) , Some ( param( "baz" ) ) ) ;
@@ -693,7 +693,7 @@ mod tests {
693
693
#[ test]
694
694
fn test_remove_duplicates ( ) {
695
695
let mut kargs = Cmdline :: from ( b"a=1 b=2 a=3" ) ;
696
- assert ! ( kargs. remove( "a" . into( ) ) ) ;
696
+ assert ! ( kargs. remove( & "a" . into( ) ) ) ;
697
697
let mut iter = kargs. iter ( ) ;
698
698
assert_eq ! ( iter. next( ) , Some ( param( "b=2" ) ) ) ;
699
699
assert_eq ! ( iter. next( ) , None ) ;
0 commit comments