summaryrefslogtreecommitdiff
path: root/ext/hwapi/hwapi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ext/hwapi/hwapi.cpp')
-rw-r--r--ext/hwapi/hwapi.cpp52
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;