diff --git a/engine/api.c b/engine/api.c index 3dd7fd3..19df210 100644 --- a/engine/api.c +++ b/engine/api.c @@ -1791,15 +1791,6 @@ int ph7_value_char(ph7_value *pVal, int cValue) { MemObjSetType(pVal, MEMOBJ_CHAR); return PH7_OK; } -/* - * [CAPIREF: ph7_value_null()] - * Please refer to the official documentation for function purpose and expected parameters. - */ -int ph7_value_null(ph7_value *pVal) { - /* Invalidate any prior representation and set the NULL flag */ - PH7_MemObjRelease(pVal); - return PH7_OK; -} /* * [CAPIREF: ph7_value_double()] * Please refer to the official documentation for function purpose and expected parameters. @@ -1928,13 +1919,6 @@ int ph7_value_is_void(ph7_value *pVal) { int ph7_value_is_string(ph7_value *pVal) { return (pVal->iFlags & MEMOBJ_STRING) ? TRUE : FALSE; } -/* - * [CAPIREF: ph7_value_is_null()] - * Please refer to the official documentation for function purpose and expected parameters. - */ -int ph7_value_is_null(ph7_value *pVal) { - return (pVal->iFlags & MEMOBJ_NULL) ? TRUE : FALSE; -} /* * [CAPIREF: ph7_value_is_numeric()] * Please refer to the official documentation for function purpose and expected parameters. diff --git a/engine/constant.c b/engine/constant.c index cd9e0bf..7ac10d1 100644 --- a/engine/constant.c +++ b/engine/constant.c @@ -1112,7 +1112,7 @@ static void PH7_self_Const(ph7_value *pVal, void *pUserData) { ph7_value_string(pVal, pName->zString, (int)pName->nByte); } else { /* Expand null */ - ph7_value_null(pVal); + ph7_value_string(pVal, "", 0); } } /* parent @@ -1129,7 +1129,7 @@ static void PH7_parent_Const(ph7_value *pVal, void *pUserData) { ph7_value_string(pVal, pName->zString, (int)pName->nByte); } else { /* Expand null */ - ph7_value_null(pVal); + ph7_value_string(pVal, "", 0); } } /* diff --git a/engine/hashmap.c b/engine/hashmap.c index f4abb9d..d893d51 100644 --- a/engine/hashmap.c +++ b/engine/hashmap.c @@ -2376,9 +2376,7 @@ static int ph7_hashmap_count(ph7_context *pCtx, int nArg, ph7_value **apArg) { return PH7_OK; } if(!ph7_value_is_array(apArg[0])) { - /* TICKET 1433-19: Handle objects */ - int res = !ph7_value_is_null(apArg[0]); - ph7_result_int(pCtx, res); + ph7_result_int(pCtx, 1); return PH7_OK; } if(nArg > 1) { diff --git a/modules/json/json.c b/modules/json/json.c index 337450c..26e4e76 100644 --- a/modules/json/json.c +++ b/modules/json/json.c @@ -151,7 +151,7 @@ static sxi32 VmJsonEncode( ph7_context *pCtx = pData->pCtx; int iFlags = pData->iFlags; int nByte; - if(ph7_value_is_null(pIn) || ph7_value_is_resource(pIn)) { + if(ph7_value_is_void(pIn) || ph7_value_is_resource(pIn)) { /* null */ ph7_result_string(pCtx, "null", (int)sizeof("null") - 1); } else if(ph7_value_is_bool(pIn)) { @@ -620,7 +620,7 @@ static sxi32 VmJsonDecode( /* Reflect the JSON image */ if(pDecoder->pIn->nType & JSON_TK_NULL) { /* Nullify the value.*/ - ph7_value_null(pWorker); + ph7_value_void(pWorker); } else if(pDecoder->pIn->nType & (JSON_TK_TRUE | JSON_TK_FALSE)) { /* Boolean value */ ph7_value_bool(pWorker, (pDecoder->pIn->nType & JSON_TK_TRUE) ? 1 : 0);