Fix mixed declarations and code
SWIG still aims to generate C90-compatible code.
This commit is contained in:
parent
f0e0f7e391
commit
8fd2a1cb75
1 changed files with 10 additions and 7 deletions
|
|
@ -96,13 +96,15 @@ SWIG_SetPointerZval(zval *z, void *ptr, swig_type_info *type, int newobject) {
|
||||||
if (type->clientdata) {
|
if (type->clientdata) {
|
||||||
if ((newobject & 2) == 0) {
|
if ((newobject & 2) == 0) {
|
||||||
int resource_type = *(int *)(type->clientdata);
|
int resource_type = *(int *)(type->clientdata);
|
||||||
if (resource_type == 0)
|
if (resource_type == 0) {
|
||||||
zend_error(E_ERROR, "Type: %s failed to register with zend", type->name);
|
zend_error(E_ERROR, "Type: %s failed to register with zend", type->name);
|
||||||
/* Register the pointer as a resource. */
|
} else {
|
||||||
swig_object_wrapper *value=(swig_object_wrapper *)emalloc(sizeof(swig_object_wrapper));
|
/* Register the pointer as a resource. */
|
||||||
value->ptr = ptr;
|
swig_object_wrapper *value=(swig_object_wrapper *)emalloc(sizeof(swig_object_wrapper));
|
||||||
value->newobject = (newobject & 1);
|
value->ptr = ptr;
|
||||||
ZVAL_RES(z, zend_register_resource(value, resource_type));
|
value->newobject = (newobject & 1);
|
||||||
|
ZVAL_RES(z, zend_register_resource(value, resource_type));
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
/* This code path is currently only used by directorin typemaps. */
|
/* This code path is currently only used by directorin typemaps. */
|
||||||
zend_class_entry *ce = (zend_class_entry*)(type->clientdata);
|
zend_class_entry *ce = (zend_class_entry*)(type->clientdata);
|
||||||
|
|
@ -209,9 +211,10 @@ SWIG_SetZval(zval *zv, int newFlow, int newobject, void *ptr, swig_type_info *ty
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newFlow) {
|
if (newFlow) {
|
||||||
|
swig_object_wrapper *obj;
|
||||||
if (newFlow == 1)
|
if (newFlow == 1)
|
||||||
ZVAL_OBJ(zv,std);
|
ZVAL_OBJ(zv,std);
|
||||||
swig_object_wrapper *obj = SWIG_Z_FETCH_OBJ_P(zv);
|
obj = SWIG_Z_FETCH_OBJ_P(zv);
|
||||||
obj->ptr = ptr;
|
obj->ptr = ptr;
|
||||||
obj->newobject = newobject;
|
obj->newobject = newobject;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue