ref: ccff1a68e10909fb73e471772d1d603e3fa72297
parent: d5d1763b989a4146ebcea19c8f3c1ffa864ccb2d
author: Ali Gholami Rudi <[email protected]>
date: Thu Aug 24 20:14:41 EDT 2017
tr: missing casts for isdigit()
--- a/clr.c
+++ b/clr.c
@@ -43,16 +43,17 @@
int clr_get(char *s)
{
+ int c = (unsigned char) s[0];
int i;
- if (s[0] == '#' && strlen(s) == 7)
+ if (c == '#' && strlen(s) == 7)
return CLR_RGB(ccom(s + 1, 2), ccom(s + 3, 2), ccom(s + 5, 2));
- if (s[0] == '#' && strlen(s) == 4)
+ if (c == '#' && strlen(s) == 4)
return CLR_RGB(ccom(s + 1, 1), ccom(s + 2, 1), ccom(s + 3, 1));
- if (s[0] == '#' && strlen(s) == 3)
+ if (c == '#' && strlen(s) == 3)
return CLR_RGB(ccom(s + 1, 2), ccom(s + 1, 2), ccom(s + 1, 2));
- if (s[0] == '#' && strlen(s) == 2)
+ if (c == '#' && strlen(s) == 2)
return CLR_RGB(ccom(s + 1, 1), ccom(s + 1, 1), ccom(s + 1, 1));
- if (isdigit(s[0]) && atoi(s) >= 0 && atoi(s) < LEN(colors))
+ if (isdigit(c) && atoi(s) >= 0 && atoi(s) < LEN(colors))
return colors[atoi(s)].value;
for (i = 0; i < LEN(colors); i++)
if (!strcmp(colors[i].name, s))
--- a/eval.c
+++ b/eval.c
@@ -37,7 +37,7 @@
char *s = *_s;
int n = 0; /* the result */
int mag = 0; /* n should be divided by mag */
- while (isdigit(*s) || *s == '.') {
+ while (isdigit((unsigned char) *s) || *s == '.') {
if (*s == '.') {
mag = 1;
s++;
@@ -66,7 +66,7 @@
static int evalisnum(char **s)
{
- return **s == '.' || isdigit(**s);
+ return **s == '.' || isdigit((unsigned char) **s);
}
static int evalexpr(char **s);
--- a/tr.c
+++ b/tr.c
@@ -345,7 +345,7 @@
n_na = 0;
if (!s)
return;
- if (isdigit(s[0]))
+ if (isdigit((unsigned char) s[0]))
n_j = atoi(s) & 15;
else
n_j = s[0] == 'p' ? AD_P | adjmode(s[1], AD_B) : adjmode(s[0], n_j);
@@ -631,11 +631,11 @@
n_nm = 1;
n_ln = eval_re(args[1], n_ln, 0);
n_ln = MAX(0, n_ln);
- if (args[2] && isdigit(args[2][0]))
+ if (args[2] && isdigit((unsigned char) args[2][0]))
n_nM = MAX(1, eval(args[2], 0));
- if (args[3] && isdigit(args[3][0]))
+ if (args[3] && isdigit((unsigned char) args[3][0]))
n_nS = MAX(0, eval(args[3], 0));
- if (args[4] && isdigit(args[4][0]))
+ if (args[4] && isdigit((unsigned char) args[4][0]))
n_nI = MAX(0, eval(args[4], 0));
}