https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95177
--- Comment #2 from Roland Illig <roland.illig at gmx dot de> --- >--- Comment #1 from kargl at gcc dot gnu.org --- >Why cast to unsigned char? The prototypes for tolower(), toupper(), >isdigit(), etc show that the type of the argument is int. See https://stackoverflow.com/a/60696378 for a detailed explanation.