From 47682f265f6ae84e3c661b565af2b8a517b0e121 Mon Sep 17 00:00:00 2001 From: Steve Bennett Date: Tue, 2 Apr 2024 08:02:21 +1000 Subject: expr: explicit error on empty expression Signed-off-by: Steve Bennett --- jim.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/jim.c b/jim.c index f364c00..d87a9b5 100644 --- a/jim.c +++ b/jim.c @@ -9783,10 +9783,17 @@ static int SetExprFromAny(Jim_Interp *interp, struct Jim_Obj *objPtr) } #endif - if (JimParseCheckMissing(interp, parser.missing.ch) == JIM_ERR) { + if (tokenlist.count <= 1) { + Jim_SetResultString(interp, "empty expression", -1); + rc = JIM_ERR; + } + else { + rc = JimParseCheckMissing(interp, parser.missing.ch); + } + if (rc != JIM_OK) { ScriptTokenListFree(&tokenlist); Jim_DecrRefCount(interp, fileNameObj); - return JIM_ERR; + return rc; } /* Now create the expression bytecode from the tokenlist */ -- cgit v1.1