aboutsummaryrefslogtreecommitdiffstats
path: root/src/lex.c
diff options
context:
space:
mode:
authorGavin Howard <yzena.tech@gmail.com>2018-12-31 13:21:47 -0700
committerGavin Howard <yzena.tech@gmail.com>2018-12-31 13:21:47 -0700
commitecc7fc2f95ffddaadf9ce1ac5e8c9e4fa5af9f52 (patch)
treecaf5d6e7ddae9f3b89dc37b3db51f5179b03619e /src/lex.c
parent223fa6d8fd41d8ce3565159b3b4d9f4689e5fa01 (diff)
downloadplatform_external_bc-ecc7fc2f95ffddaadf9ce1ac5e8c9e4fa5af9f52.tar.gz
platform_external_bc-ecc7fc2f95ffddaadf9ce1ac5e8c9e4fa5af9f52.tar.bz2
platform_external_bc-ecc7fc2f95ffddaadf9ce1ac5e8c9e4fa5af9f52.zip
Improve error reporting across the board
Diffstat (limited to 'src/lex.c')
-rw-r--r--src/lex.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lex.c b/src/lex.c
index 02071012..c0bb825d 100644
--- a/src/lex.c
+++ b/src/lex.c
@@ -100,7 +100,8 @@ BcStatus bc_lex_number(BcLex *l, char start) {
len = i + 1 * !last_pt - bslashes * 2;
- if (len > BC_MAX_NUM) return bc_vm_error(BC_ERROR_EXEC_NUM_LEN, l->line);
+ if (len > BC_MAX_NUM)
+ return bc_vm_error(BC_ERROR_EXEC_NUM_LEN, l->line, BC_MAX_NUM);
bc_vec_npop(&l->str, l->str.len);
bc_vec_expand(&l->str, len + 1);
@@ -137,7 +138,8 @@ BcStatus bc_lex_name(BcLex *l) {
while ((c >= 'a' && c <= 'z') || isdigit(c) || c == '_') c = buf[++i];
- if (i > BC_MAX_STRING) return bc_vm_error(BC_ERROR_EXEC_NAME_LEN, l->line);
+ if (i > BC_MAX_NAME)
+ return bc_vm_error(BC_ERROR_EXEC_NAME_LEN, l->line, BC_MAX_NAME);
bc_vec_string(&l->str, i, buf);