Skip to content

Commit 78b677b

Browse files
committed
kernel_cmdline: add_or_modify and remove should take borrowed input
There's no reason these need to be owned. Signed-off-by: John Eckersberg <[email protected]>
1 parent 1cf09f3 commit 78b677b

File tree

2 files changed

+24
-24
lines changed

2 files changed

+24
-24
lines changed

crates/kernel_cmdline/src/bytes.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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);

crates/kernel_cmdline/src/utf8.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -115,15 +115,15 @@ impl<'a> Cmdline<'a> {
115115
///
116116
/// Returns `false` if the parameter already existed with the same
117117
/// content.
118-
pub fn add_or_modify(&mut self, param: Parameter) -> bool {
119-
self.0.add_or_modify(param.0)
118+
pub fn add_or_modify(&mut self, param: &Parameter) -> bool {
119+
self.0.add_or_modify(&param.0)
120120
}
121121

122122
/// Remove parameter(s) with the given key from the command line
123123
///
124124
/// Returns `true` if parameter(s) were removed.
125-
pub fn remove(&mut self, key: ParameterKey) -> bool {
126-
self.0.remove(key.0)
125+
pub fn remove(&mut self, key: &ParameterKey) -> bool {
126+
self.0.remove(&key.0)
127127
}
128128
}
129129

@@ -563,22 +563,22 @@ mod tests {
563563
let mut kargs = Cmdline::from("foo=bar");
564564

565565
// add new
566-
assert!(kargs.add_or_modify(param("baz")));
566+
assert!(kargs.add_or_modify(&param("baz")));
567567
let mut iter = kargs.iter();
568568
assert_eq!(iter.next(), Some(param("foo=bar")));
569569
assert_eq!(iter.next(), Some(param("baz")));
570570
assert_eq!(iter.next(), None);
571571

572572
// modify existing
573-
assert!(kargs.add_or_modify(param("foo=fuz")));
573+
assert!(kargs.add_or_modify(&param("foo=fuz")));
574574
iter = kargs.iter();
575575
assert_eq!(iter.next(), Some(param("foo=fuz")));
576576
assert_eq!(iter.next(), Some(param("baz")));
577577
assert_eq!(iter.next(), None);
578578

579579
// already exists with same value returns false and doesn't
580580
// modify anything
581-
assert!(!kargs.add_or_modify(param("foo=fuz")));
581+
assert!(!kargs.add_or_modify(&param("foo=fuz")));
582582
iter = kargs.iter();
583583
assert_eq!(iter.next(), Some(param("foo=fuz")));
584584
assert_eq!(iter.next(), Some(param("baz")));
@@ -588,14 +588,14 @@ mod tests {
588588
#[test]
589589
fn test_add_or_modify_empty_cmdline() {
590590
let mut kargs = Cmdline::from("");
591-
assert!(kargs.add_or_modify(param("foo")));
591+
assert!(kargs.add_or_modify(&param("foo")));
592592
assert_eq!(kargs.as_ref(), "foo");
593593
}
594594

595595
#[test]
596596
fn test_add_or_modify_duplicate_parameters() {
597597
let mut kargs = Cmdline::from("a=1 a=2");
598-
assert!(kargs.add_or_modify(param("a=3")));
598+
assert!(kargs.add_or_modify(&param("a=3")));
599599
let mut iter = kargs.iter();
600600
assert_eq!(iter.next(), Some(param("a=3")));
601601
assert_eq!(iter.next(), None);
@@ -606,14 +606,14 @@ mod tests {
606606
let mut kargs = Cmdline::from("foo bar baz");
607607

608608
// remove existing
609-
assert!(kargs.remove("bar".into()));
609+
assert!(kargs.remove(&"bar".into()));
610610
let mut iter = kargs.iter();
611611
assert_eq!(iter.next(), Some(param("foo")));
612612
assert_eq!(iter.next(), Some(param("baz")));
613613
assert_eq!(iter.next(), None);
614614

615615
// doesn't exist? returns false and doesn't modify anything
616-
assert!(!kargs.remove("missing".into()));
616+
assert!(!kargs.remove(&"missing".into()));
617617
iter = kargs.iter();
618618
assert_eq!(iter.next(), Some(param("foo")));
619619
assert_eq!(iter.next(), Some(param("baz")));
@@ -623,7 +623,7 @@ mod tests {
623623
#[test]
624624
fn test_remove_duplicates() {
625625
let mut kargs = Cmdline::from("a=1 b=2 a=3");
626-
assert!(kargs.remove("a".into()));
626+
assert!(kargs.remove(&"a".into()));
627627
let mut iter = kargs.iter();
628628
assert_eq!(iter.next(), Some(param("b=2")));
629629
assert_eq!(iter.next(), None);

0 commit comments

Comments
 (0)