From bbc2feeba7bae41223f174b893d553f07ed30e53 Mon Sep 17 00:00:00 2001 From: Steve Kelly Date: Fri, 12 Apr 2024 11:00:27 -0400 Subject: [PATCH 1/2] fix a few lurking bugs detected by JET Many of these are issues with operations on `Char` rather than `String`. --- src/Parsers.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Parsers.jl b/src/Parsers.jl index 8dd8dee..a4a95b0 100644 --- a/src/Parsers.jl +++ b/src/Parsers.jl @@ -209,9 +209,9 @@ _startswith(s::Char, prefix::Union{String,Char}) = ncodeunits(s) >= ncodeunits(p _startswith(s::String, prefix::Union{Char,String,Regex}) = startswith(s, prefix) _startswith(s::String, prefix::UInt8) = startswith(s, Char(prefix)) _startswith(s::Char, prefix::Regex) = startswith(string(s), prefix) -_startswith(s::UInt8, prefix::Regex) = startswith(Char(s), prefix) +_startswith(s::UInt8, prefix::Regex) = startswith(string(Char(s)), prefix) _startswith(s::UInt8, prefix::UInt8) = s == prefix -_startswith(s::Char, prefix::UInt8) = first(codeunits(s)) == prefix +_startswith(s::Char, prefix::UInt8) = first(codeunits(string(s))) == prefix _startswith(a::Nothing, b) = false _startswith(a, b::Nothing) = false _startswith(a::Nothing, b::Nothing) = false @@ -306,7 +306,7 @@ function token(x::MaybeToken, arg) asciival(x) || throw(ArgumentError("$arg argument must be ASCII")) return Token(x) elseif x isa Char - return Token(asciival(x) ? UInt8(x) : String(x)) + return Token(asciival(x) ? UInt8(x) : string(x)) elseif x isa Regex return Token(mkregex(x)) else From 04bec6e38a16fa77c8a892ef0d13f83874080238 Mon Sep 17 00:00:00 2001 From: Steve Kelly Date: Tue, 16 Apr 2024 13:57:49 -0400 Subject: [PATCH 2/2] Update src/Parsers.jl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Tomáš Drvoštěp --- src/Parsers.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Parsers.jl b/src/Parsers.jl index a4a95b0..09a51a4 100644 --- a/src/Parsers.jl +++ b/src/Parsers.jl @@ -211,7 +211,7 @@ _startswith(s::String, prefix::UInt8) = startswith(s, Char(prefix)) _startswith(s::Char, prefix::Regex) = startswith(string(s), prefix) _startswith(s::UInt8, prefix::Regex) = startswith(string(Char(s)), prefix) _startswith(s::UInt8, prefix::UInt8) = s == prefix -_startswith(s::Char, prefix::UInt8) = first(codeunits(string(s))) == prefix +_startswith(s::Char, prefix::UInt8) = codepoint(s) == prefix _startswith(a::Nothing, b) = false _startswith(a, b::Nothing) = false _startswith(a::Nothing, b::Nothing) = false