diff options
Diffstat (limited to 'wm/afterstep/patches/patch-libAfterStep_functions.c')
-rw-r--r-- | wm/afterstep/patches/patch-libAfterStep_functions.c | 95 |
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 } } |