The various character predicates (isspace and the like) may not be

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:
This commit is contained in:
Bodo Möller
1999-05-10 11:18:26 +00:00
parent 93c5624f04
commit 84a370a400
4 changed files with 11 additions and 11 deletions

View File

@@ -512,26 +512,26 @@ int OBJ_create_objects(BIO *in)
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;
}