Implement typecasting to resource data type.
All checks were successful
The build was successful.

This commit is contained in:
2019-02-08 14:06:39 +01:00
parent efbe191989
commit fa0b487cc0
5 changed files with 30 additions and 1 deletions

View File

@@ -446,6 +446,15 @@ PH7_PRIVATE sxi32 PH7_MemObjToCallback(ph7_value *pObj) {
MemObjSetType(pObj, MEMOBJ_CALL);
return rc;
}
PH7_PRIVATE sxi32 PH7_MemObjToResource(ph7_value *pObj) {
sxi32 rc = SXRET_OK;
if((pObj->iFlags & MEMOBJ_RES) == 0) {
SyBlobReset(&pObj->sBlob); /* Reset the internal buffer */
rc = MemObjStringValue(&pObj->sBlob, &(*pObj), TRUE);
}
MemObjSetType(pObj, MEMOBJ_RES);
return rc;
}
/*
* Convert a ph7_value to type string.Prior representations are NOT invalidated.
*/
@@ -588,6 +597,8 @@ PH7_PRIVATE ProcMemObjCast PH7_MemObjCastMethod(sxi32 iFlags) {
return PH7_MemObjToObject;
} else if(iFlags & MEMOBJ_CALL) {
return PH7_MemObjToCallback;
} else if(iFlags & MEMOBJ_RES) {
return PH7_MemObjToResource;
} else if(iFlags & MEMOBJ_VOID) {
return PH7_MemObjToVoid;
}