diff options
Diffstat (limited to 'array.c')
-rw-r--r-- | array.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -138,6 +138,16 @@ commontype(Array *a, Array *b, Array **aa, Array **bb, int forcefloat) }else if(a->type == AtypeInt && b->type == AtypeFloat){ *aa = inttofloatarray(a); *bb = fnSame(b); + }else if(a->type == AtypeArray && b->type != AtypeArray){ + *aa = fnSame(a); + *bb = allocarray(AtypeArray, 0, 1); + (*bb)->arraydata[0] = b; + incref(b); + }else if(a->type != AtypeArray && b->type == AtypeArray){ + *aa = allocarray(AtypeArray, 0, 1); + (*aa)->arraydata[0] = a; + incref(a); + *bb = fnSame(b); }else return 0; return 1; |