Upstream QEDK/configparser-rs state of the touched files before 44edcb4f15

This commit is contained in:
upstream committed 2026-09-04 09:28:35 +02:00
1 parent 602b3965ae
commit eca6be7adc
2 files changed
+1 -22

No files matched your search

+1 -7
View File
@@ -1017,13 +1017,7 @@ impl Ini {
current_key = Some(key.clone()); current_key = Some(key.clone());
} }
// `delimiter` is a byte offset and may itself be multi-byte, so advance by let value = trimmed[delimiter + 1..].trim().to_owned();
// its UTF-8 length.
let delimiter_len = trimmed[delimiter..]
.chars()
.next()
.map_or(1, char::len_utf8);
let value = trimmed[delimiter + delimiter_len..].trim().to_owned();
valmap.insert(key, Some(value)); valmap.insert(key, Some(value));
} }
-15
View File
@@ -973,18 +973,3 @@ fn serde_case_sensitive_roundtrip() -> Result<(), Box<dyn Error>> {
Ok(()) Ok(())
} }
#[test]
fn multibyte_delimiter_does_not_panic() -> Result<(), Box<dyn Error>> {
use configparser::ini::IniDefault;
// A multi-byte delimiter must not split on a non-char boundary.
let mut defaults = IniDefault::default();
defaults.delimiters = vec!['\u{00a7}']; // section sign, 2 bytes in UTF-8
let mut config = Ini::new_from_defaults(defaults);
config.read(String::from("[s]\nkey\u{00a7}value\n"))?;
assert_eq!(config.get("s", "key"), Some(String::from("value")));
Ok(())
}