From 1cebd3af376fcf28ddcb025349f391325d85be6a Mon Sep 17 00:00:00 2001 From: belliash Date: Mon, 26 Nov 2018 20:41:15 +0100 Subject: [PATCH] Allow char to be typecasted to value of any other type. --- engine/memobj.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/engine/memobj.c b/engine/memobj.c index 2252ad5..cef4e76 100644 --- a/engine/memobj.c +++ b/engine/memobj.c @@ -133,7 +133,7 @@ static sxi64 MemObjIntValue(ph7_value *pObj) { iFlags = pObj->iFlags; if(iFlags & MEMOBJ_REAL) { return MemObjRealToInt(&(*pObj)); - } else if(iFlags & (MEMOBJ_INT | MEMOBJ_BOOL)) { + } else if(iFlags & (MEMOBJ_INT | MEMOBJ_BOOL | MEMOBJ_CHAR)) { return pObj->x.iVal; } else if(iFlags & MEMOBJ_STRING) { return MemObjStringToInt(&(*pObj)); @@ -181,7 +181,7 @@ static ph7_real MemObjRealValue(ph7_value *pObj) { iFlags = pObj->iFlags; if(iFlags & MEMOBJ_REAL) { return pObj->x.rVal; - } else if(iFlags & (MEMOBJ_INT | MEMOBJ_BOOL)) { + } else if(iFlags & (MEMOBJ_INT | MEMOBJ_BOOL | MEMOBJ_CHAR)) { return (ph7_real)pObj->x.iVal; } else if(iFlags & MEMOBJ_STRING) { SyString sString; @@ -284,7 +284,7 @@ static sxi32 MemObjBooleanValue(ph7_value *pObj) { iFlags = pObj->iFlags; if(iFlags & MEMOBJ_REAL) { return pObj->x.rVal != 0.0 ? 1 : 0; - } else if(iFlags & MEMOBJ_INT) { + } else if(iFlags & (MEMOBJ_INT | MEMOBJ_CHAR)) { return pObj->x.iVal ? 1 : 0; } else if(iFlags & MEMOBJ_STRING) { SyString sString;