summaryrefslogtreecommitdiff
path: root/asm/eval.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2019-06-06 17:17:16 -0700
committerH. Peter Anvin <hpa@zytor.com>2019-06-06 17:17:16 -0700
commit236f4a832b9a226a4492b873aeead022e4ea63b9 (patch)
tree4a4353bc9b01543ab5c8134aa533dcf20c8e1242 /asm/eval.c
parentd4b20355d224d58944faf0731365f8a3764eb2e5 (diff)
downloadnasm-236f4a832b9a226a4492b873aeead022e4ea63b9.tar.gz
strfunc: better error messages if a string transform fails
Let the user know what string transform actually failed on them. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'asm/eval.c')
-rw-r--r--asm/eval.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/asm/eval.c b/asm/eval.c
index d8fe34ae..9ec093a0 100644
--- a/asm/eval.c
+++ b/asm/eval.c
@@ -746,7 +746,7 @@ static expr *eval_floatize(enum floatize type)
return finishtemp();
}
-static expr *eval_strfunc(enum strfunc type)
+static expr *eval_strfunc(enum strfunc type, const char *name)
{
char *string;
size_t string_len;
@@ -760,13 +760,13 @@ static expr *eval_strfunc(enum strfunc type)
scan();
}
if (tt != TOKEN_STR) {
- nasm_nonfatal("expecting string");
+ nasm_nonfatal("expecting string as argument to %s", name);
return NULL;
}
string_len = string_transform(tokval->t_charptr, tokval->t_inttwo,
&string, type);
if (string_len == (size_t)-1) {
- nasm_nonfatal("invalid string for transform");
+ nasm_nonfatal("invalid input string to %s", name);
return NULL;
}
@@ -908,7 +908,7 @@ static expr *expr6(void)
return eval_floatize(tokval->t_integer);
case TOKEN_STRFUNC:
- return eval_strfunc(tokval->t_integer);
+ return eval_strfunc(tokval->t_integer, tokval->t_charptr);
case '(':
scan();