From d9e190096c21d69d02dd102f77ef2847b8fb6795 Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Wed, 12 Jan 2022 22:10:59 -0700 Subject: [PATCH] delimit partial strings around \x0\ --- src/machine/partial_string.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/machine/partial_string.rs b/src/machine/partial_string.rs index 87256d04..4430b9e3 100644 --- a/src/machine/partial_string.rs +++ b/src/machine/partial_string.rs @@ -44,10 +44,10 @@ impl PartialString { #[inline] pub(super) fn new<'a>(src: &'a str, atom_tbl: &mut AtomTable) -> Option<(Self, &'a str)> { let terminator_idx = scan_for_terminator(src.chars()); - let pstr = PartialString(atom_tbl.build_with(src)); + let pstr = PartialString(atom_tbl.build_with(&src[.. terminator_idx])); - Some(if terminator_idx != src.as_bytes().len() { - (pstr, &src[terminator_idx..]) + Some(if terminator_idx < src.as_bytes().len() { + (pstr, &src[terminator_idx + 1..]) } else { (pstr, "") }) -- 2.54.0