summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2020-04-19 11:26:31 -0700
committerOri Bernstein <ori@eigenstate.org>2020-04-19 11:26:31 -0700
commit260d1eaaa73a377fb7b0cfc00707ddba35a54ccd (patch)
tree26eb95e5f52e7a5d112d2dccb48d9205dddf3980
parent15a32f06839819cbbf6f40dccc5189c66379bcc0 (diff)
downloadplan9front-260d1eaaa73a377fb7b0cfc00707ddba35a54ccd.tar.xz
Make priority array max size explicit.
we were implicitly depending on UMINUS being the last entry in the operator table -- that's fragile.
-rw-r--r--sys/src/cmd/cpp/cpp.h2
-rw-r--r--sys/src/cmd/cpp/eval.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/src/cmd/cpp/cpp.h b/sys/src/cmd/cpp/cpp.h
index 64520af1d..cb21a785e 100644
--- a/sys/src/cmd/cpp/cpp.h
+++ b/sys/src/cmd/cpp/cpp.h
@@ -17,7 +17,7 @@ enum toktype { END, UNCLASS, NAME, NUMBER, STRING, CCON, NL, WS, DSHARP,
COLON, ASGN, COMMA, XCOMMA, SHARP, SEMIC, CBRA, CKET,
ASPLUS, ASMINUS, ASSTAR, ASSLASH, ASPCT, ASCIRC, ASLSH,
ASRSH, ASOR, ASAND, ELLIPS,
- DSHARP1, NAME1, DEFINED, UMINUS };
+ DSHARP1, NAME1, DEFINED, UMINUS, MAXTOK};
enum kwtype { KIF, KIFDEF, KIFNDEF, KELIF, KELSE, KENDIF, KINCLUDE, KDEFINE,
KUNDEF, KLINE, KERROR, KWARNING, KPRAGMA, KDEFINED,
diff --git a/sys/src/cmd/cpp/eval.c b/sys/src/cmd/cpp/eval.c
index 8a6fe0645..49a312856 100644
--- a/sys/src/cmd/cpp/eval.c
+++ b/sys/src/cmd/cpp/eval.c
@@ -31,7 +31,7 @@ const struct pri {
char assoc;
char arity;
char ctype;
-} priority[] = {
+} priority[MAXTOK] = {
[END] { 0, 0, 0, 0 },
[EQ] { 11, 0, 2, RELAT },
[NEQ] { 11, 0, 2, RELAT },