From cc278ab9e9d83158d97d76c46fa0092710ec8410 Mon Sep 17 00:00:00 2001 From: Gennaro Prota Date: Fri, 20 Jun 2025 11:42:47 +0200 Subject: [PATCH] Pass unsigned chars to the functions in Differently from their counterparts, the functions in and have undefined behavior if their argument is not representable as an unsigned char and is not equal to EOF. --- src/lib/AST/ParseJavadoc.cpp | 3 ++- src/lib/Support/Validate.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/AST/ParseJavadoc.cpp b/src/lib/AST/ParseJavadoc.cpp index a12346a1e4..d4d88702fe 100644 --- a/src/lib/AST/ParseJavadoc.cpp +++ b/src/lib/AST/ParseJavadoc.cpp @@ -7,6 +7,7 @@ // Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) // Copyright (c) 2023 Krystian Stasiowski (sdkrystian@gmail.com) // Copyright (c) 2024 Alan de Freitas (alandefreitas@gmail.com) +// Copyright (c) 2025 Gennaro Prota (gennaro.prota@gmail.com) // // Official repository: https://github.com/cppalliance/mrdocs // @@ -539,7 +540,7 @@ parseStyled(StringRef s) } }; - auto isPunctuationOrSpace = [](char c) { + auto isPunctuationOrSpace = [](unsigned char c) { return std::isspace(c) || std::ispunct(c); }; diff --git a/src/lib/Support/Validate.cpp b/src/lib/Support/Validate.cpp index 1ae7cafd4f..c910e97e47 100644 --- a/src/lib/Support/Validate.cpp +++ b/src/lib/Support/Validate.cpp @@ -4,6 +4,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // // Copyright (c) 2023 Vinnie Falco (vinnie.falco@gmail.com) +// Copyright (c) 2025 Gennaro Prota (gennaro.prota@gmail.com) // // Official repository: https://github.com/cppalliance/mrdocs // @@ -29,7 +30,7 @@ validAdocSectionID( return s[0] == '_' || s[0] == ':' || - std::isalpha(s[0]); + std::isalpha(static_cast(s[0])); } } // mrdocs