diff options
author | Steve Bennett <steveb@workware.net.au> | 2024-04-02 08:02:21 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2024-04-02 08:20:45 +1000 |
commit | 47682f265f6ae84e3c661b565af2b8a517b0e121 (patch) | |
tree | 7ca3f0072c3d80289e7bc19c4b9be62f005d3f59 | |
parent | d009bf2f46f4445f6bb6a5e403deb1a0d75c8d70 (diff) | |
download | jimtcl-47682f265f6ae84e3c661b565af2b8a517b0e121.zip jimtcl-47682f265f6ae84e3c661b565af2b8a517b0e121.tar.gz jimtcl-47682f265f6ae84e3c661b565af2b8a517b0e121.tar.bz2 |
expr: explicit error on empty expression
Signed-off-by: Steve Bennett <steveb@workware.net.au>
-rw-r--r-- | jim.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -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 */ |