mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-09-24 12:14:00 -04:00
305 lines
10 KiB
C
305 lines
10 KiB
C
$NetBSD: patch-libAfterBase_parse.c,v 1.2 2016/05/01 19:26:35 dholland Exp $
|
|
|
|
- Use ctype.h correctly.
|
|
- Patch up gcc inline mess.
|
|
|
|
--- libAfterBase/parse.c.orig 2009-02-11 23:32:02.000000000 +0000
|
|
+++ libAfterBase/parse.c
|
|
@@ -119,7 +119,7 @@ const char *parse_argb_part( const char
|
|
|
|
for( i = 0 ; i < 3 ; ++i )
|
|
{
|
|
- if( !isdigit(ptr[i]) )
|
|
+ if( !isdigit((unsigned char)ptr[i]) )
|
|
break;
|
|
buf[i] = ptr[i] ;
|
|
}
|
|
@@ -279,7 +279,7 @@ const char *parse_hsv_part( const char *
|
|
|
|
for( i = 0 ; i < 3 ; ++i )
|
|
{
|
|
- if( !isdigit(ptr[i]) )
|
|
+ if( !isdigit((unsigned char)ptr[i]) )
|
|
break;
|
|
buf[i] = ptr[i] ;
|
|
}
|
|
@@ -328,7 +328,7 @@ const char *parse_argb_dec( const char *
|
|
|
|
for( k = has_alpha?0:1 ; k < 4 ; ++k )
|
|
{
|
|
- if( !isdigit(ptr[0]) )
|
|
+ if( !isdigit((unsigned char)ptr[0]) )
|
|
{
|
|
CARD32 tmp_argb = 0xFF000000 ;
|
|
const char *tmp = parse_argb_color( ptr, &tmp_argb );
|
|
@@ -350,14 +350,14 @@ const char *parse_argb_dec( const char *
|
|
{
|
|
for( i = 0 ; i < 3 ; ++i )
|
|
{
|
|
- if( !isdigit(ptr[i]) )
|
|
+ if( !isdigit((unsigned char)ptr[i]) )
|
|
break;
|
|
buf[i] = ptr[i] ;
|
|
}
|
|
buf[i] = '\0' ;
|
|
dec_val[k] = atoi( &(buf[0]) );
|
|
}
|
|
- if( !isdigit(ptr[i]) )
|
|
+ if( !isdigit((unsigned char)ptr[i]) )
|
|
{
|
|
if( ptr[i] != ',' )
|
|
break;
|
|
@@ -394,15 +394,15 @@ const char *parse_argb_color( const char
|
|
CARD32 argb = 0 ;
|
|
int len = 0 ;
|
|
register const char *ptr = color+1 ;
|
|
- while( isxdigit((int)ptr[len]) ) len++;
|
|
+ while( isxdigit((unsigned char)ptr[len]) ) len++;
|
|
if( len >= 3)
|
|
{
|
|
if( (len&0x3) == 0 && len != 12 )
|
|
{ /* we do have alpha channel !!! */
|
|
len = len>>2 ;
|
|
- argb = (hextoi((int)ptr[0])<<28)&0xF0000000 ;
|
|
+ argb = ((unsigned)hextoi((unsigned char)ptr[0])<<28)&0xF0000000 ;
|
|
if( len > 1 )
|
|
- argb |= (hextoi((int)ptr[1])<<24)&0x0F000000 ;
|
|
+ argb |= ((unsigned)hextoi((unsigned char)ptr[1])<<24)&0x0F000000 ;
|
|
else
|
|
argb |= 0x0F000000;
|
|
ptr += len ;
|
|
@@ -415,20 +415,20 @@ const char *parse_argb_color( const char
|
|
if( len == 1 )
|
|
{
|
|
argb |= 0x000F0F0F;
|
|
- argb |= (hextoi((int)ptr[0])<<20)&0x00F00000 ;
|
|
- argb |= (hextoi((int)ptr[1])<<12)&0x0000F000 ;
|
|
- argb |= (hextoi((int)ptr[2])<<4 )&0x000000F0 ;
|
|
+ argb |= ((unsigned)hextoi((unsigned char)ptr[0])<<20)&0x00F00000 ;
|
|
+ argb |= ((unsigned)hextoi((unsigned char)ptr[1])<<12)&0x0000F000 ;
|
|
+ argb |= ((unsigned)hextoi((unsigned char)ptr[2])<<4 )&0x000000F0 ;
|
|
ptr += 3 ;
|
|
}else
|
|
{
|
|
- argb |= (hextoi((int)ptr[0])<<20)&0x00F00000 ;
|
|
- argb |= (hextoi((int)ptr[1])<<16)&0x000F0000 ;
|
|
+ argb |= ((unsigned)hextoi((unsigned char)ptr[0])<<20)&0x00F00000 ;
|
|
+ argb |= ((unsigned)hextoi((unsigned char)ptr[1])<<16)&0x000F0000 ;
|
|
ptr += len ;
|
|
- argb |= (hextoi((int)ptr[0])<<12)&0x0000F000 ;
|
|
- argb |= (hextoi((int)ptr[1])<<8) &0x00000F00 ;
|
|
+ argb |= ((unsigned)hextoi((unsigned char)ptr[0])<<12)&0x0000F000 ;
|
|
+ argb |= ((unsigned)hextoi((unsigned char)ptr[1])<<8) &0x00000F00 ;
|
|
ptr += len ;
|
|
- argb |= (hextoi((int)ptr[0])<<4 )&0x000000F0 ;
|
|
- argb |= (hextoi((int)ptr[1])) &0x0000000F ;
|
|
+ argb |= ((unsigned)hextoi((unsigned char)ptr[0])<<4 )&0x000000F0 ;
|
|
+ argb |= ((unsigned)hextoi((unsigned char)ptr[1])) &0x0000000F ;
|
|
ptr += len ;
|
|
}
|
|
*pargb = argb ;
|
|
@@ -486,7 +486,7 @@ const char *parse_argb_color( const char
|
|
register int i = 0;
|
|
Bool success = True ;
|
|
|
|
- while( isalnum((int)ptr[i]) ) ++i;
|
|
+ while( isalnum((unsigned char)ptr[i]) ) ++i;
|
|
if( ptr[i] != '\0' )
|
|
ptr = mystrndup(&(color[0]), i );
|
|
|
|
@@ -514,7 +514,7 @@ const char *parse_argb_color( const char
|
|
int orig_i = i ;
|
|
ptr = (char*)&(color[0]);
|
|
|
|
- while( isalnum((int)ptr[i]) || ptr[i] == '.' || ptr[i] == '_') ++i;
|
|
+ while( isalnum((unsigned char)ptr[i]) || ptr[i] == '.' || ptr[i] == '_') ++i;
|
|
if( orig_i < i )
|
|
{
|
|
if( ptr[i] != '\0' )
|
|
@@ -590,8 +590,8 @@ stripcpy (const char *source)
|
|
|
|
if( source == NULL )
|
|
return NULL;
|
|
- for (; isspace ((int)*source); source++);
|
|
- for (ptr = source + strlen (source); ptr > source && isspace ((int)*(ptr - 1)); ptr--);
|
|
+ for (; isspace ((unsigned char)*source); source++);
|
|
+ for (ptr = source + strlen (source); ptr > source && isspace ((unsigned char)*(ptr - 1)); ptr--);
|
|
return mystrndup (source, ptr - source);
|
|
}
|
|
|
|
@@ -627,7 +627,7 @@ stripcomments2 (char *source, char **com
|
|
int start = 0, curr = 0 ;
|
|
|
|
/* remove comments from the line */
|
|
- while (isspace ((int)source[start])) ++start;
|
|
+ while (isspace ((unsigned char)source[start])) ++start;
|
|
|
|
for (curr = start; source[curr]; curr++)
|
|
{
|
|
@@ -645,9 +645,9 @@ stripcomments2 (char *source, char **com
|
|
{ /* checking if it is not a hex color code */
|
|
int i = curr;
|
|
|
|
- while(isxdigit ((int)source[++i]));
|
|
+ while(isxdigit ((unsigned char)source[++i]));
|
|
|
|
- if (i-curr < 4 || i-curr > 13 || (source[i] && !isspace ((int)source[i])))
|
|
+ if (i-curr < 4 || i-curr > 13 || (source[i] && !isspace ((unsigned char)source[i])))
|
|
{
|
|
if( comments )
|
|
*comments = mystrdup( &source[curr+1] );
|
|
@@ -657,7 +657,7 @@ stripcomments2 (char *source, char **com
|
|
curr = i - 1;
|
|
}
|
|
}
|
|
- do{ --curr ; }while( curr > start && isspace ((int)source[curr]));
|
|
+ do{ --curr ; }while( curr > start && isspace ((unsigned char)source[curr]));
|
|
source[curr+1] = '\0';
|
|
return &source[start];
|
|
}
|
|
@@ -676,10 +676,10 @@ strip_whitespace (char *str)
|
|
char *ptr;
|
|
|
|
/* strip trailing whitespace */
|
|
- for (ptr = str + strlen (str); ptr > str && isspace ((int)*(ptr - 1)); ptr--)
|
|
+ for (ptr = str + strlen (str); ptr > str && isspace ((unsigned char)*(ptr - 1)); ptr--)
|
|
*(ptr - 1) = '\0';
|
|
/* skip leading whitespace */
|
|
- for (ptr = str; isspace ((int)*ptr); ptr++);
|
|
+ for (ptr = str; isspace ((unsigned char)*ptr); ptr++);
|
|
return ptr;
|
|
}
|
|
|
|
@@ -699,7 +699,7 @@ tokenskip( const char *ptr, unsigned int
|
|
if( ptr == NULL ) return NULL ;
|
|
while( ++tok_no <= n_tokens && ptr[curr] != '\0' )
|
|
{
|
|
- while (!isspace ((int)ptr[curr]) && ptr[curr])
|
|
+ while (!isspace ((unsigned char)ptr[curr]) && ptr[curr])
|
|
{ /* we have to match doublequotes if we encounter any, to allow for spaces in filenames */
|
|
if (ptr[curr] == '"')
|
|
{
|
|
@@ -710,7 +710,7 @@ tokenskip( const char *ptr, unsigned int
|
|
++curr;
|
|
}
|
|
|
|
- while (isspace ((int)ptr[curr])) ++curr;
|
|
+ while (isspace ((unsigned char)ptr[curr])) ++curr;
|
|
}
|
|
return (char*)&ptr[curr];
|
|
}
|
|
@@ -725,12 +725,12 @@ parse_token (const char *source, char **
|
|
{
|
|
int tok_start = 0, tok_end;
|
|
char *next_tok_ptr ;
|
|
- while( isspace(source[tok_start]) ) ++tok_start;
|
|
+ while( isspace((unsigned char)source[tok_start]) ) ++tok_start;
|
|
next_tok_ptr = tokenskip( &source[tok_start], 1 );
|
|
tok_end = (int)(next_tok_ptr-source) ;
|
|
if( tok_end > tok_start )
|
|
if( source[tok_end] != '\0' ) /* then it points to beginning of the next token */
|
|
- do{ --tok_end;}while( tok_end > tok_start && isspace(source[tok_end-1]));
|
|
+ do{ --tok_end;}while( tok_end > tok_start && isspace((unsigned char)source[tok_end-1]));
|
|
|
|
if( trg )
|
|
*trg = mystrndup (&source[tok_start], tok_end - tok_start );
|
|
@@ -752,7 +752,7 @@ parse_tab_token (const char *source, cha
|
|
{
|
|
char *ptr;
|
|
|
|
- for (; isspace ((int)*source); source++);
|
|
+ for (; isspace ((unsigned char)*source); source++);
|
|
for (ptr = (char *)source; *ptr != '\t' && *ptr; ptr++);
|
|
*trg = mystrndup (source, ptr - source);
|
|
return ptr;
|
|
@@ -806,7 +806,7 @@ make_shell_str (char *dest, const char *
|
|
n--;
|
|
while (n && *src)
|
|
{
|
|
- if (!isalnum ((int)*src) && n > 1)
|
|
+ if (!isalnum ((unsigned char)*src) && n > 1)
|
|
{
|
|
*dest++ = '\\';
|
|
n--;
|
|
@@ -853,7 +853,7 @@ parse_signed_int (register char *tline,
|
|
int val = 0, sign = 0;
|
|
register int i = 0 ;
|
|
|
|
- while (isspace ((int)tline[i])) ++i;
|
|
+ while (isspace ((unsigned char)tline[i])) ++i;
|
|
|
|
switch( tline[i] )
|
|
{ /* handling constructs like --10 or -+10 which is equivalent to -0-10or -0+10 */
|
|
@@ -875,7 +875,7 @@ parse_signed_int (register char *tline,
|
|
case 'X' : sign = 4; break;
|
|
default : --i ;
|
|
}
|
|
- while (isdigit ((int)tline[++i]))
|
|
+ while (isdigit ((unsigned char)tline[++i]))
|
|
val = val * 10 + (int)(tline[i] - '0');
|
|
|
|
if( val_return )
|
|
@@ -891,7 +891,7 @@ parse_func_args (char *tline, char *unit
|
|
tline = parse_signed_int( tline, func_val, NULL );
|
|
|
|
*unit = *tline;
|
|
- if (isspace ((int)*tline))
|
|
+ if (isspace ((unsigned char)*tline))
|
|
*unit = '\0' ;
|
|
return tline[0]?tline+1:tline;
|
|
}
|
|
@@ -906,7 +906,7 @@ double parse_math(const char* str, char*
|
|
if( str == NULL )
|
|
return 0 ;
|
|
|
|
- while (isspace((int)*str)) str++;
|
|
+ while (isspace((unsigned char)*str)) str++;
|
|
if( *str == '!' )
|
|
{
|
|
logical_not = 1;
|
|
@@ -919,7 +919,7 @@ double parse_math(const char* str, char*
|
|
|
|
while (*str)
|
|
{
|
|
- while (isspace((int)*str)) str++;
|
|
+ while (isspace((unsigned char)*str)) str++;
|
|
if (!op)
|
|
{
|
|
if (*str == '+' || *str == '-' || *str == '*' || *str == '/') op = *str++;
|
|
@@ -936,7 +936,7 @@ double parse_math(const char* str, char*
|
|
num = parse_math(str + 1, &ptr, size);
|
|
else if (*str == '$')
|
|
{
|
|
- for (ptr = (char*)str + 1 ; *ptr && !isspace(*ptr) && *ptr != '+' && *ptr != '-' && *ptr != '*' && *ptr != '!' && *ptr != '/' && *ptr != ')' ; ptr++);
|
|
+ for (ptr = (char*)str + 1 ; *ptr && !isspace((unsigned char)*ptr) && *ptr != '+' && *ptr != '-' && *ptr != '*' && *ptr != '!' && *ptr != '/' && *ptr != ')' ; ptr++);
|
|
num = asxml_var_nget((char*)str + 1, ptr - (str + 1));
|
|
}else
|
|
num = strtod(str, &ptr);
|
|
@@ -1027,7 +1027,7 @@ parse_geometry (register char *tline,
|
|
|
|
static char _as_hex_to_char_table[] = "0123456789ABCDEF";
|
|
|
|
-inline int
|
|
+int
|
|
unsigned_int2buffer_end (char *buffer, int buffer_size, unsigned int val)
|
|
{
|
|
int i = buffer_size-1 ;
|
|
@@ -1174,7 +1174,7 @@ get_string_list_item (char *ptr, char **
|
|
|
|
if (ptr == NULL)
|
|
return NULL;
|
|
- while (*ptr && (isspace ((int)*ptr) || *ptr == separator))
|
|
+ while (*ptr && (isspace ((unsigned char)*ptr) || *ptr == separator))
|
|
ptr++;
|
|
if (*ptr == '\0')
|
|
return NULL;
|
|
@@ -1185,7 +1185,7 @@ get_string_list_item (char *ptr, char **
|
|
if ((*item_end = find_doublequotes (ptr)) == NULL)
|
|
return NULL;
|
|
ptr = *item_end;
|
|
- while (*ptr && !(isspace ((int)*ptr) || *ptr == separator))
|
|
+ while (*ptr && !(isspace ((unsigned char)*ptr) || *ptr == separator))
|
|
ptr++;
|
|
} else
|
|
{
|