summaryrefslogtreecommitdiff
path: root/Src/math.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2006-07-10 13:08:22 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2006-07-10 13:08:22 +0000
commit4a67f2479892fda348546404216270aaaff523ea (patch)
tree3157f967e4324cdf147aa656c021e55e96f29731 /Src/math.c
parent272256f5d6f4748aed680256589a67713e517383 (diff)
downloadzsh-4a67f2479892fda348546404216270aaaff523ea.tar.gz
zsh-4a67f2479892fda348546404216270aaaff523ea.zip
22544: Improve use of ztype tests for multibyte characters. Add
POSIX_IDENTIFIERS option to control allowability of multibyte alphanumeric characters in parameter and module names.
Diffstat (limited to 'Src/math.c')
-rw-r--r--Src/math.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/Src/math.c b/Src/math.c
index bd48288ec..fe5f7b74b 100644
--- a/Src/math.c
+++ b/Src/math.c
@@ -265,11 +265,12 @@ zzlex(void)
{
int cct = 0;
yyval.type = MN_INTEGER;
+ char *ie;
for (;; cct = 0)
switch (*ptr++) {
case '+':
- if (*ptr == '+' && (unary || !ialnum(*ptr))) {
+ if (*ptr == '+') {
ptr++;
return (unary) ? PREPLUS : POSTPLUS;
}
@@ -279,7 +280,7 @@ zzlex(void)
}
return (unary) ? UPLUS : PLUS;
case '-':
- if (*ptr == '-' && (unary || !ialnum(*ptr))) {
+ if (*ptr == '-') {
ptr++;
return (unary) ? PREMINUS : POSTMINUS;
}
@@ -469,12 +470,12 @@ zzlex(void)
}
cct = 1;
}
- if (iident(*ptr)) {
+ if ((ie = itype_end(ptr, IIDENT, 0)) != ptr) {
int func = 0;
char *p;
p = ptr;
- while (iident(*++ptr));
+ ptr = ie;
if (*ptr == '[' || (!cct && *ptr == '(')) {
char op = *ptr, cp = ((*ptr == '[') ? ']' : ')');
int l;