diff options
Diffstat (limited to 'wm/afterstep/patches/patch-libAfterStep_parser.c')
-rw-r--r-- | wm/afterstep/patches/patch-libAfterStep_parser.c | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/wm/afterstep/patches/patch-libAfterStep_parser.c b/wm/afterstep/patches/patch-libAfterStep_parser.c new file mode 100644 index 00000000000..d5f4b46e5ee --- /dev/null +++ b/wm/afterstep/patches/patch-libAfterStep_parser.c @@ -0,0 +1,88 @@ +$NetBSD: patch-libAfterStep_parser.c,v 1.1 2016/05/01 19:26:35 dholland Exp $ + +Use ctype.h correctly. + +--- libAfterStep/parser.c~ 2008-03-28 22:41:23.000000000 +0000 ++++ libAfterStep/parser.c +@@ -613,9 +613,9 @@ GetNextStatement (ConfigDef * config) + if (*cur == file_terminator) + return NULL; + #ifdef __CYGWIN__ +- if (!isspace ((int)*cur) && *cur != 0x0D) ++ if (!isspace ((unsigned char)*cur) && *cur != 0x0D) + #else +- if (!isspace ((int)*cur)) ++ if (!isspace ((unsigned char)*cur)) + #endif + { + register int i; +@@ -632,7 +632,7 @@ GetNextStatement (ConfigDef * config) + { /* comments - skip entire line */ + config->current_flags |= CF_DISABLED_OPTION; + /* let's skip few spaces here */ +- while (isspace ((int)cur[i]) && cur[i] != terminator) ++i; ++ while (isspace ((unsigned char)cur[i]) && cur[i] != terminator) ++i; + if (cur[i] == '\0' || cur[i] == terminator) + break; /* not a valid option */ + cur = &cur[i]; +@@ -647,7 +647,7 @@ GetNextStatement (ConfigDef * config) + print_trimmed_str( "private option at", cur ); + ++cur; + for( i = 0 ; mname[i] != '\0' && cur[i] != '\0' ; ++i ) +- if (tolower (mname[i]) != tolower (cur[i]) ) ++ if (tolower ((unsigned char)mname[i]) != tolower ((unsigned char)cur[i]) ) + break; + if (mname[i] != '\0') + { /* that was a foreign optiion - belongs to the other executable */ +@@ -673,9 +673,9 @@ GetNextStatement (ConfigDef * config) + if( *cur != COMMENTS_CHAR ) + { + i = 0 ; +- while (cur[i] && !isspace ((int)cur[i]) && cur[i] != terminator && cur[i] != file_terminator) ++ while (cur[i] && !isspace ((unsigned char)cur[i]) && cur[i] != terminator && cur[i] != file_terminator) + ++i; +- while (isspace ((int)cur[i]) && cur[i] != terminator && cur[i] != file_terminator) ++ while (isspace ((unsigned char)cur[i]) && cur[i] != terminator && cur[i] != file_terminator) + ++i; + }else + i = 1; +@@ -711,7 +711,7 @@ GetNextStatement (ConfigDef * config) + { + if (config->tdata[i] == file_terminator) + set_flags(config->current_flags, CF_LAST_OPTION); +- if (!isspace ((int)data[i])) ++ if (!isspace ((unsigned char)data[i])) + break; + } + i++; +@@ -750,10 +750,10 @@ FindStatementTerm (char *tline, SyntaxDe + if( tline[0] == COMMENTS_CHAR ) + return &_as_comments_term; + +- if( isspace(tline[0]) ) ++ if( isspace((unsigned char)tline[0]) ) + { + int i = 0; +- while( isspace(tline[i]) ) ++i; ++ while( isspace((unsigned char)tline[i]) ) ++i; + if( tline[i] == '~') + if( get_hash_item (syntax->term_hash, AS_HASHABLE(&tline[i]), &hdata.vptr)==ASH_Success ) + return hdata.vptr; +@@ -793,7 +793,7 @@ config2tree_storage (ConfigDef * config, + { + ++i; /* it's ok - we can start with 1, since myname should have at least 1 char */ + pterm = FindStatementTerm (&(config->tline[i]), config->syntax); +- }while( pterm == NULL && !isspace(config->tline[i]) && config->tline[i] != '\0' ); ++ }while( pterm == NULL && !isspace((unsigned char)config->tline[i]) && config->tline[i] != '\0' ); + }else + pterm = FindStatementTerm (config->tline, config->syntax); + +@@ -804,7 +804,7 @@ config2tree_storage (ConfigDef * config, + config->current_term = pterm; + + LOCAL_DEBUG_OUT("Term:[%s]", config->current_term->keyword); +- if( isspace(config->tline[0]) && pterm->keyword_len > 0 && ++ if( isspace((unsigned char)config->tline[0]) && pterm->keyword_len > 0 && + mystrncasecmp(pterm->keyword, config->current_data, pterm->keyword_len) == 0 ) + { /* we need to skip one token in current_data : */ + char *src = tokenskip( config->current_data, 1 ) ; |