From 4f6be2234e586c96ee3cd36ef452d9c480dab56c Mon Sep 17 00:00:00 2001 From: belliash Date: Fri, 29 Mar 2019 23:51:20 +0100 Subject: [PATCH] Allow NULL to be assigned to any type of variable. NULL will be automatically typecasted to any data type, thus setting ti the default value. --- engine/memobj.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/engine/memobj.c b/engine/memobj.c index cfd9dde..13cce68 100644 --- a/engine/memobj.c +++ b/engine/memobj.c @@ -363,7 +363,9 @@ static ph7_real MemObjCharValue(ph7_value *pObj) { * Checks a ph7_value variable compatibility with nType data type. */ PH7_PRIVATE sxi32 PH7_CheckVarCompat(ph7_value *pObj, int nType) { - if(((nType & MEMOBJ_HASHMAP) == 0) && ((pObj->iFlags & MEMOBJ_HASHMAP) == 0)) { + if(pObj->iFlags & MEMOBJ_NULL) { + return SXRET_OK; + } else if(((nType & MEMOBJ_HASHMAP) == 0) && ((pObj->iFlags & MEMOBJ_HASHMAP) == 0)) { if((nType & MEMOBJ_REAL) && (pObj->iFlags & MEMOBJ_INT)) { return SXRET_OK; } else if((nType & MEMOBJ_CHAR) && (pObj->iFlags & MEMOBJ_INT)) {