git: 82a3337952b9 - main - pmc: Use isascii(3) to check if a character is ASCII

John Baldwin <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.src,gmane.os.freebsd.current.scm
Message-ID <[email protected]>
The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=82a3337952b922c48c55d1359ab0472f1d116c7a

commit 82a3337952b922c48c55d1359ab0472f1d116c7a
Author:     John Baldwin <[email protected]>
AuthorDate: 2026-08-21 20:19:56 +0000
Commit:     John Baldwin <[email protected]>
CommitDate: 2026-08-21 20:56:05 +0000

    pmc: Use isascii(3) to check if a character is ASCII
    
    The previous check did not work on architectures where `char` is
    unsigned as noted by GCC on aarch64:
    
    usr.sbin/pmc/view.cc: In member function 'void pmcview::loadsymboltable(image*, Elf*, Elf_Scn*, GElf_Shdr*)':
    usr.sbin/pmc/view.cc:627:38: error: comparison is always false due to limited range of data type [-Werror=type-limits]
      627 |                         if (fname[i] < 0) {
          |                             ~~~~~~~~~^~~
    
    Reported by:    GCC 15
---
 usr.sbin/pmc/view.cc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/usr.sbin/pmc/view.cc b/usr.sbin/pmc/view.cc
index a678c061d490..f3585ac75043 100644
--- a/usr.sbin/pmc/view.cc
+++ b/usr.sbin/pmc/view.cc
@@ -624,7 +624,7 @@ pmcview::loadsymboltable(image *im, Elf *e, Elf_Scn *scn, GElf_Shdr *sh)
 
 		// XXX: Extra checks to make sure we don't get corrupted
 		for (int i = 0; fname[i] != 0 && i < 32; i++) {
-			if (fname[i] < 0) {
+			if (!isascii(fname[i])) {
 				printf("EEEK SYMBOL\n");
 				printf("%s\n", fname);
 				assert(false);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.