diff options
Diffstat (limited to 'ext/hwapi/hwapi.cpp')
-rw-r--r-- | ext/hwapi/hwapi.cpp | 52 |
1 files changed, 34 insertions, 18 deletions
diff --git a/ext/hwapi/hwapi.cpp b/ext/hwapi/hwapi.cpp index 4f758ba185..3692b7b392 100644 --- a/ext/hwapi/hwapi.cpp +++ b/ext/hwapi/hwapi.cpp @@ -913,21 +913,24 @@ static HW_API_replace_In *make_HW_API_replace_In(zval *arg1) { if(!strcmp(key, "objectIdentifier")) in->setObjectIdentifier((*keydata)->value.str.val); break; - case IS_OBJECT: + case IS_OBJECT: { + zend_class_entry *ce; + ce = zend_get_class_entry(*keydata); if(!strcmp(key, "object")) { - if(!((*keydata)->value.obj.ce->name, "hw_api_object")) { +// if(!((*keydata)->value.obj.ce->name, "hw_api_object")) { + if(!(ce->name, "hw_api_object")) { HW_API_Object *obj; obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); in->setObject(*obj); } } else if(!strcmp(key, "parameters")) { - if(!((*keydata)->value.obj.ce->name, "hw_api_object")) { + if(!(ce->name, "hw_api_object")) { HW_API_Object *obj; obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); in->setParameters(*obj); } } else if(!strcmp(key, "content")) { - if(!((*keydata)->value.obj.ce->name, "hw_api_content")) { + if(!(ce->name, "hw_api_content")) { HW_API_Content *obj; obj = (HW_API_Content *) php_hwapi_get_object(*keydata, le_hwapi_contentp); in->setContent(*obj); @@ -935,6 +938,7 @@ static HW_API_replace_In *make_HW_API_replace_In(zval *arg1) { } /* FIXME: HW_API_Object and HW_API_Content needs to be handelt */ break; + } case IS_ARRAY: { HW_API_StringArray *sarr; @@ -976,21 +980,23 @@ static HW_API_insert_In *make_HW_API_insert_In(zval *arg1) { zend_hash_get_current_data(lht, (void **) &keydata); zend_hash_get_current_key(lht, &key, &ind, 0); switch((*keydata)->type) { - case IS_OBJECT: + case IS_OBJECT: { + zend_class_entry *ce; + ce = zend_get_class_entry(*keydata); if(!strcmp(key, "object")) { - if(!strcmp((*keydata)->value.obj.ce->name, "hw_api_object")) { + if(!strcmp(ce->name, "hw_api_object")) { HW_API_Object *obj; obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); in->setObject(*obj); } } else if(!strcmp(key, "parameters")) { - if(!strcmp((*keydata)->value.obj.ce->name, "hw_api_object")) { + if(!strcmp(ce->name, "hw_api_object")) { HW_API_Object *obj; obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); in->setParameters(*obj); } } else if(!strcmp(key, "content")) { - if(!strcmp((*keydata)->value.obj.ce->name, "hw_api_content")) { + if(!strcmp(ce->name, "hw_api_content")) { HW_API_Content *obj; obj = (HW_API_Content *) php_hwapi_get_object(*keydata, le_hwapi_contentp); in->setContent(*obj); @@ -998,6 +1004,7 @@ static HW_API_insert_In *make_HW_API_insert_In(zval *arg1) { } /* FIXME: HW_API_Object and HW_API_Content needs to be handelt */ break; + } case IS_ARRAY: { HW_API_StringArray *sarr; @@ -1039,21 +1046,23 @@ static HW_API_insertDocument_In *make_HW_API_insertDocument_In(zval *arg1) { zend_hash_get_current_data(lht, (void **) &keydata); zend_hash_get_current_key(lht, &key, &ind, 0); switch((*keydata)->type) { - case IS_OBJECT: + case IS_OBJECT: { + zend_class_entry *ce; + ce = zend_get_class_entry(*keydata); if(!strcmp(key, "object")) { - if(!((*keydata)->value.obj.ce->name, "HW_API_Object")) { + if(!strcmp(ce->name, "hw_api_object")) { HW_API_Object *obj; obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); in->setObject(*obj); } } else if(!strcmp(key, "parameters")) { - if(!((*keydata)->value.obj.ce->name, "HW_API_Object")) { + if(!strcmp(ce->name, "hw_api_object")) { HW_API_Object *obj; obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); in->setParameters(*obj); } } else if(!strcmp(key, "content")) { - if(!((*keydata)->value.obj.ce->name, "HW_API_Content")) { + if(!strcmp(ce->name, "hw_api_content")) { HW_API_Content *obj; obj = (HW_API_Content *) php_hwapi_get_object(*keydata, le_hwapi_contentp); in->setContent(*obj); @@ -1061,6 +1070,7 @@ static HW_API_insertDocument_In *make_HW_API_insertDocument_In(zval *arg1) { } /* FIXME: HW_API_Object and HW_API_Content needs to be handelt */ break; + } case IS_ARRAY: { HW_API_StringArray *sarr; @@ -1110,15 +1120,17 @@ static HW_API_insertCollection_In *make_HW_API_insertCollection_In(zval *arg1) { if(!strcmp(key, "parentIdentifier")) in->setParentIdentifier((*keydata)->value.str.val); break; - case IS_OBJECT: + case IS_OBJECT: { + zend_class_entry *ce; + ce = zend_get_class_entry(*keydata); if(!strcmp(key, "object")) { - if(!((*keydata)->value.obj.ce->name, "HW_API_Object")) { + if(!strcmp(ce->name, "hw_api_object")) { HW_API_Object *obj; obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); in->setObject(*obj); } } else if(!strcmp(key, "parameters")) { - if(!((*keydata)->value.obj.ce->name, "HW_API_Object")) { + if(!strcmp(ce->name, "hw_api_object")) { HW_API_Object *obj; obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); in->setParameters(*obj); @@ -1126,6 +1138,7 @@ static HW_API_insertCollection_In *make_HW_API_insertCollection_In(zval *arg1) { } /* FIXME: HW_API_Object and HW_API_Content needs to be handelt */ break; + } case IS_ARRAY: { HW_API_StringArray *sarr; @@ -1171,15 +1184,17 @@ static HW_API_insertAnchor_In *make_HW_API_insertAnchor_In(zval *arg1) { else if(!strcmp(key, "hint")) in->setHint((*keydata)->value.str.val); break; - case IS_OBJECT: + case IS_OBJECT: { + zend_class_entry *ce; + ce = zend_get_class_entry(*keydata); if(!strcmp(key, "object")) { - if(!((*keydata)->value.obj.ce->name, "HW_API_Object")) { + if(!strcmp(ce->name, "hw_api_object")) { HW_API_Object *obj; obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); in->setObject(*obj); } } else if(!strcmp(key, "parameters")) { - if(!((*keydata)->value.obj.ce->name, "HW_API_Object")) { + if(!strcmp(ce->name, "hw_api_object")) { HW_API_Object *obj; obj = (HW_API_Object *) php_hwapi_get_object(*keydata, le_hwapi_objectp); in->setParameters(*obj); @@ -1187,6 +1202,7 @@ static HW_API_insertAnchor_In *make_HW_API_insertAnchor_In(zval *arg1) { } /* FIXME: HW_API_Object and HW_API_Content needs to be handelt */ break; + } case IS_ARRAY: { HW_API_StringArray *sarr; |