diff options
author | Steve Bennett <steveb@workware.net.au> | 2014-01-12 20:38:03 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2014-01-15 11:23:44 +1000 |
commit | 93ea2fcea92f79350067d684b29e520eff8eabe8 (patch) | |
tree | a6a81f14530611ffec5f0383785bcac454da3ed7 /jim-array.c | |
parent | fe933ad8fdc1069d54fd97a961ef698109c600ae (diff) | |
download | jimtcl-93ea2fcea92f79350067d684b29e520eff8eabe8.zip jimtcl-93ea2fcea92f79350067d684b29e520eff8eabe8.tar.gz jimtcl-93ea2fcea92f79350067d684b29e520eff8eabe8.tar.bz2 |
array: array set to non-dict should fail
Currently returns the error message but does not set JIM_ERR
Also add a test case
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim-array.c')
-rw-r--r-- | jim-array.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/jim-array.c b/jim-array.c index 3bb74c6..bf07e07 100644 --- a/jim-array.c +++ b/jim-array.c @@ -174,6 +174,9 @@ static int array_cmd_set(Jim_Interp *interp, int argc, Jim_Obj *const *argv) /* Doesn't exist, so just set the list directly */ return Jim_SetVariable(interp, argv[0], listObj); } + else if (Jim_DictSize(interp, dictObj) < 0) { + return JIM_ERR; + } if (Jim_IsShared(dictObj)) { dictObj = Jim_DuplicateObj(interp, dictObj); |