From eca6be7adcb2eb4be3e6fd64aeb7d3baa62be667 Mon Sep 17 00:00:00 2001 From: upstream Date: Fri, 4 Sep 2026 09:28:35 +0200 Subject: [PATCH] Upstream QEDK/configparser-rs state of the touched files before 44edcb4f15 --- src/ini.rs | 8 +------- tests/test.rs | 15 --------------- 2 files changed, 1 insertion(+), 22 deletions(-) diff --git a/src/ini.rs b/src/ini.rs index 748d1b1..f1cf0da 100644 --- a/src/ini.rs +++ b/src/ini.rs @@ -1017,13 +1017,7 @@ impl Ini { current_key = Some(key.clone()); } - // `delimiter` is a byte offset and may itself be multi-byte, so advance by - // 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(); + let value = trimmed[delimiter + 1..].trim().to_owned(); valmap.insert(key, Some(value)); } diff --git a/tests/test.rs b/tests/test.rs index c8ce8bf..6807c52 100644 --- a/tests/test.rs +++ b/tests/test.rs @@ -973,18 +973,3 @@ fn serde_case_sensitive_roundtrip() -> Result<(), Box> { Ok(()) } - -#[test] -fn multibyte_delimiter_does_not_panic() -> Result<(), Box> { - 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(()) -}