summaryrefslogtreecommitdiff
path: root/wm/afterstep/patches/patch-libAfterStep_functions.c
diff options
context:
space:
mode:
Diffstat (limited to 'wm/afterstep/patches/patch-libAfterStep_functions.c')
-rw-r--r--wm/afterstep/patches/patch-libAfterStep_functions.c95
1 files changed, 93 insertions, 2 deletions
diff --git a/wm/afterstep/patches/patch-libAfterStep_functions.c b/wm/afterstep/patches/patch-libAfterStep_functions.c
index dec2bb002b9..4ca69310655 100644
--- a/wm/afterstep/patches/patch-libAfterStep_functions.c
+++ b/wm/afterstep/patches/patch-libAfterStep_functions.c
@@ -1,7 +1,98 @@
-$NetBSD: patch-libAfterStep_functions.c,v 1.1 2012/05/04 16:36:10 joerg Exp $
+$NetBSD: patch-libAfterStep_functions.c,v 1.2 2016/05/01 19:26:35 dholland Exp $
---- libAfterStep/functions.c.orig 2012-05-04 14:34:35.000000000 +0000
+- use ctype.h correctly
+- patch up gcc inline mess
+
+--- libAfterStep/functions.c.orig 2009-12-11 22:38:48.000000000 +0000
+++ libAfterStep/functions.c
+@@ -52,19 +52,19 @@ txt2func (const char *text, FunctionData
+ {
+ TermDef *fterm;
+
+- for (; isspace (*text); text++);
++ for (; isspace ((unsigned char)*text); text++);
+ fterm = txt2fterm (text, quiet);
+ if (fterm != NULL)
+ {
+ init_func_data (fdata);
+ fdata->func = fterm->id;
+- for (; !isspace (*text) && *text; text++);
+- for (; isspace (*text); text++);
++ for (; !isspace ((unsigned char)*text) && *text; text++);
++ for (; isspace ((unsigned char)*text); text++);
+ if (*text)
+ {
+ const char *ptr = text + strlen ((char*)text);
+
+- for (; isspace (*(ptr - 1)); ptr--);
++ for (; isspace ((unsigned char)*(ptr - 1)); ptr--);
+ fdata->text = mystrndup (text, ptr - text);
+ }
+ }
+@@ -80,7 +80,7 @@ parse_func (const char *text, FunctionDa
+ int sign = 0;
+
+ init_func_data (data);
+- for (ptr = (char *)text; isspace (*ptr); ptr++);
++ for (ptr = (char *)text; isspace ((unsigned char)*ptr); ptr++);
+ if (*ptr == '\0')
+ {
+ if (!quiet)
+@@ -94,7 +94,7 @@ parse_func (const char *text, FunctionDa
+ if (IsInternFunc (fterm->id))
+ return 0;
+
+- while (!isspace (*ptr) && *ptr)
++ while (!isspace ((unsigned char)*ptr) && *ptr)
+ ptr++;
+ data->func = fterm->id;
+ if (fterm->flags & TF_SYNTAX_TERMINATOR)
+@@ -109,14 +109,14 @@ parse_func (const char *text, FunctionDa
+ { /* we still want to strip trailing whitespaces */
+ char *tail = ptr + strlen (ptr) - 1;
+
+- for (; isspace (*tail) && tail > ptr; tail--);
++ for (; isspace ((unsigned char)*tail) && tail > ptr; tail--);
+ *(tail + 1) = '\0';
+ }
+ /* this function is very often called so we try to use as little
+ calls to other function as possible */
+ for (; *ptr; ptr++)
+ {
+- if (!isspace (*ptr))
++ if (!isspace ((unsigned char)*ptr))
+ {
+ int is_text = 0;
+
+@@ -138,15 +138,15 @@ parse_func (const char *text, FunctionDa
+ else if (data->text == NULL)
+ data->text = text;
+ ptr = tail + 1;
+- } else if (isdigit (*ptr))
++ } else if (isdigit ((unsigned char)*ptr))
+ {
+ int count;
+ char unit = '\0';
+ int val = 0;
+
+- for (count = 1; isdigit (*(ptr + count)); count++);
+- if (*(ptr + count) != '\0' && !isspace (*(ptr + count)))
+- is_text = (!isspace (*(ptr + count + 1)) && *(ptr + count + 1) != '\0') ? 1 : 0;
++ for (count = 1; isdigit ((unsigned char)*(ptr + count)); count++);
++ if (*(ptr + count) != '\0' && !isspace ((unsigned char)*(ptr + count)))
++ is_text = (!isspace ((unsigned char)*(ptr + count + 1)) && *(ptr + count + 1) != '\0') ? 1 : 0;
+ if (is_text == 0)
+ ptr = parse_func_args (ptr, &unit, &val) - 1;
+ if (curr_arg < MAX_FUNC_ARGS)
+@@ -187,7 +187,7 @@ parse_func (const char *text, FunctionDa
+ }
+ ptr = parse_token (ptr, &(data->text)) - 1;
+ } else
+- while (*(ptr + 1) && !isspace (*(ptr + 1)))
++ while (*(ptr + 1) && !isspace ((unsigned char)*(ptr + 1)))
+ ptr++;
+ }
+ sign = 0;
@@ -314,7 +314,7 @@ dup_func_data (FunctionData * dst, Funct
}
}