summaryrefslogtreecommitdiff
path: root/wm/afterstep/patches/patch-libAfterStep_parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'wm/afterstep/patches/patch-libAfterStep_parser.c')
-rw-r--r--wm/afterstep/patches/patch-libAfterStep_parser.c88
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 ) ;