fix undefined behaviour of use of isalpha, isdigit and tolower - ii - irc it, s… | |
git clone git://git.suckless.org/ii | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 1411224b169b5a2d134111b068e17f3020753ca9 | |
parent bf06f141882477d60a9d30390dd9e43a49fccc11 | |
Author: Hiltjo Posthuma <[email protected]> | |
Date: Mon, 16 Dec 2019 18:26:01 +0100 | |
fix undefined behaviour of use of isalpha, isdigit and tolower | |
"The argument c must be EOF or representable as an unsigned char; | |
otherwise, the result is undefined." | |
Diffstat: | |
M ii.c | 6 +++--- | |
1 file changed, 3 insertions(+), 3 deletions(-) | |
--- | |
diff --git a/ii.c b/ii.c | |
@@ -140,9 +140,9 @@ static void | |
channel_normalize_path(char *s) | |
{ | |
for (; *s; s++) { | |
- if (isalpha(*s)) | |
- *s = tolower(*s); | |
- else if (!isdigit(*s) && !strchr(".#&+!-", *s)) | |
+ if (isalpha((unsigned char)*s)) | |
+ *s = tolower((unsigned char)*s); | |
+ else if (!isdigit((unsigned char)*s) && !strchr(".#&+!-", *s)) | |
*s = '_'; | |
} | |
} |