aboutsummaryrefslogtreecommitdiffstats
path: root/awkgram.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2017-07-11 08:17:52 +0300
committerArnold D. Robbins <arnold@skeeve.com>2017-07-11 08:17:52 +0300
commit848eeca1caa9221b3b9cc3bc7678787040a03657 (patch)
treeb5ef4127d12e48277def02ced2e208d9a8ba1ae3 /awkgram.c
parent02a9d7c4e6d029a0dc0069aa6d68a09c007794aa (diff)
parent9e419cfbc401e9b9fd45c8e854fdf5ae799261d5 (diff)
downloadegawk-848eeca1caa9221b3b9cc3bc7678787040a03657.tar.gz
egawk-848eeca1caa9221b3b9cc3bc7678787040a03657.tar.bz2
egawk-848eeca1caa9221b3b9cc3bc7678787040a03657.zip
Merge branch 'master' into feature/api-mpfr
Diffstat (limited to 'awkgram.c')
-rw-r--r--awkgram.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/awkgram.c b/awkgram.c
index b946854f..235c23d5 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -6508,7 +6508,7 @@ retry:
}
}
- if (c != '_' && ! is_alpha(c)) {
+ if (! is_letter(c)) {
yyerror(_("invalid char '%c' in expression"), c);
return lasttok = LEX_EOF;
}
@@ -8732,6 +8732,18 @@ is_alnum(int c)
}
+/*
+ * is_letter --- function to check letters
+ * isalpha() isn't good enough since it can look at the locale.
+ * Underscore counts as a letter in awk identifiers
+ */
+
+bool
+is_letter(int c)
+{
+ return (is_alpha(c) || c == '_');
+}
+
/* is_identchar --- return true if c can be in an identifier */
bool