used with negative char values, so I've added casts to unsigned char.
Maybe what really should be done is change all those arrays and
pointers to type unsigned char [] or unsigned char *, respectively;
but using plain char with those predicates is just wrong, so something
had to be done.
Submitted by:
Reviewed by:
PR:
if (*a == '-') { neg=1; a++; }
- for (i=0; isxdigit(a[i]); i++)
+ for (i=0; isxdigit((unsigned char) a[i]); i++)
;
num=i+neg;
if ((a == NULL) || (*a == '\0')) return(0);
if (*a == '-') { neg=1; a++; }
- for (i=0; isdigit(a[i]); i++)
+ for (i=0; isdigit((unsigned char) a[i]); i++)
;
num=i+neg;
i=BIO_gets(in,buf,512);
if (i <= 0) return(num);
buf[i-1]='\0';
- if (!isalnum(buf[0])) return(num);
+ if (!isalnum((unsigned char)buf[0])) return(num);
o=s=buf;
- while (isdigit(*s) || (*s == '.'))
+ while (isdigit((unsigned char)*s) || (*s == '.'))
s++;
if (*s != '\0')
{
*(s++)='\0';
- while (isspace(*s))
+ while (isspace((unsigned char)*s))
s++;
if (*s == '\0')
s=NULL;
else
{
l=s;
- while ((*l != '\0') && !isspace(*l))
+ while ((*l != '\0') && !isspace((unsigned char)*l))
l++;
if (*l != '\0')
{
*(l++)='\0';
- while (isspace(*l))
+ while (isspace((unsigned char)*l))
l++;
if (*l == '\0') l=NULL;
}
char *p = *value;
if((strlen(p) < 9) || strncmp(p, "critical,", 9)) return 0;
p+=9;
- while(isspace(*p)) p++;
+ while(isspace((unsigned char)*p)) p++;
*value = p;
return 1;
}
char *p = *value;
if((strlen(p) < 4) || strncmp(p, "RAW:,", 4)) return 0;
p+=4;
- while(isspace(*p)) p++;
+ while(isspace((unsigned char)*p)) p++;
*value = p;
return 1;
}
char *p, *q;
/* Skip over leading spaces */
p = name;
- while(*p && isspace(*p)) p++;
+ while(*p && isspace((unsigned char)*p)) p++;
if(!*p) return NULL;
q = p + strlen(p) - 1;
- while((q != p) && isspace(*q)) q--;
+ while((q != p) && isspace((unsigned char)*q)) q--;
if(p != q) q[1] = 0;
if(!*p) return NULL;
return p;