diff --git a/engine/memobj.c b/engine/memobj.c index 0b63f1a..9274fd2 100644 --- a/engine/memobj.c +++ b/engine/memobj.c @@ -724,6 +724,16 @@ PH7_PRIVATE sxi32 PH7_MemObjIsNull(ph7_value *pObj) { /* Assume empty by default */ return TRUE; } +/* + * Check whether the ph7_value is an array (hashmap) + * Returns TRUE if hashmap, FALSE otherwise. + */ +PH7_PRIVATE sxi32 PH7_MemObjIsHashmap(ph7_value *pObj) { + if(pObj->nType & MEMOBJ_HASHMAP) { + return TRUE; + } + return FALSE; +} /* * Check whether the ph7_value is numeric [i.e: int/float/bool] or looks * like a numeric number [i.e: if the ph7_value is of type string.]. diff --git a/include/ph7int.h b/include/ph7int.h index da9be2e..646f97f 100644 --- a/include/ph7int.h +++ b/include/ph7int.h @@ -1634,6 +1634,7 @@ PH7_PRIVATE sxi32 PH7_MemObjRelease(ph7_value *pObj); PH7_PRIVATE sxi32 PH7_MemObjToNumeric(ph7_value *pObj); PH7_PRIVATE ProcMemObjCast PH7_MemObjCastMethod(sxi32 iFlags); PH7_PRIVATE sxi32 PH7_MemObjIsNull(ph7_value *pObj); +PH7_PRIVATE sxi32 PH7_MemObjIsHashmap(ph7_value *pObj); PH7_PRIVATE sxi32 PH7_MemObjIsNumeric(ph7_value *pObj); PH7_PRIVATE sxi32 PH7_MemObjIsEmpty(ph7_value *pObj); PH7_PRIVATE sxi32 PH7_MemObjToHashmap(ph7_value *pObj);