summaryrefslogtreecommitdiff
path: root/src/texec
diff options
context:
space:
mode:
Diffstat (limited to 'src/texec')
-rw-r--r--src/texec/eval.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/texec/eval.go b/src/texec/eval.go
index a977042..37341a5 100644
--- a/src/texec/eval.go
+++ b/src/texec/eval.go
@@ -478,7 +478,12 @@ func cvsa(sct TArtifact, dat []interface{}) VarMap {
for i:=0;i<len(vars);i++ {
tmp := TVariable{vars[i].Type, nil}
if isStruct(vars[i].Type, 0) {
- tmp.Data = cvsa(vars[i].Type.T, dat[i].([]interface{}))
+ switch v := dat[i].(type) {
+ case []interface{}:
+ tmp.Data = cvsa(vars[i].Type.T, v)
+ case VarMap:
+ tmp.Data = csts(vars[i].Type.T, v)
+ }
} else {
tmp.Data = dat[i]
}