From e75ed7b9a9e61b13670307d8a7f534b2319c2ba0 Mon Sep 17 00:00:00 2001 From: belliash Date: Sat, 23 Mar 2019 19:34:51 +0100 Subject: [PATCH] Only INTEGER and FLOAT should be considered as numerical. --- engine/memobj.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/engine/memobj.c b/engine/memobj.c index bbe33e4..792965a 100644 --- a/engine/memobj.c +++ b/engine/memobj.c @@ -604,23 +604,9 @@ PH7_PRIVATE ProcMemObjCast PH7_MemObjCastMethod(sxi32 iFlags) { * Return TRUE if numeric.FALSE otherwise. */ PH7_PRIVATE sxi32 PH7_MemObjIsNumeric(ph7_value *pObj) { - if(pObj->iFlags & (MEMOBJ_BOOL | MEMOBJ_INT | MEMOBJ_REAL)) { + if(pObj->iFlags & (MEMOBJ_INT | MEMOBJ_REAL)) { return TRUE; - } else if(pObj->iFlags & (MEMOBJ_CALL | MEMOBJ_NULL | MEMOBJ_HASHMAP | MEMOBJ_OBJ | MEMOBJ_RES | MEMOBJ_VOID)) { - return FALSE; - } else if(pObj->iFlags & MEMOBJ_STRING) { - SyString sStr; - sxi32 rc; - SyStringInitFromBuf(&sStr, SyBlobData(&pObj->sBlob), SyBlobLength(&pObj->sBlob)); - if(sStr.nByte <= 0) { - /* Empty string */ - return FALSE; - } - /* Check if the string representation looks like a numeric number */ - rc = SyStrIsNumeric(sStr.zString, sStr.nByte, 0, 0); - return rc == SXRET_OK ? TRUE : FALSE; } - /* NOT REACHED */ return FALSE; } /*