@@ -261,7 +261,7 @@ static zend_object *zend_ffi_cdata_new(zend_class_entry *class_type) /* {{{ */
261
261
262
262
cdata -> type = NULL ;
263
263
cdata -> ptr = NULL ;
264
- cdata -> flags = 0 ;
264
+ cdata -> flags = ( zend_ffi_flags ) 0 ;
265
265
266
266
return & cdata -> std ;
267
267
}
@@ -1110,7 +1110,7 @@ static zval *zend_ffi_cdata_get(zend_object *obj, zend_string *member, int read_
1110
1110
return & EG (uninitialized_zval );
1111
1111
}
1112
1112
1113
- zend_ffi_cdata_to_zval (cdata , cdata -> ptr , type , BP_VAR_R , rv , 0 , 0 , 0 );
1113
+ zend_ffi_cdata_to_zval (cdata , cdata -> ptr , type , BP_VAR_R , rv , ( zend_ffi_flags ) 0 , 0 , 0 );
1114
1114
return rv ;
1115
1115
}
1116
1116
/* }}} */
@@ -2833,7 +2833,7 @@ static ZEND_FUNCTION(ffi_trampoline) /* {{{ */
2833
2833
}
2834
2834
2835
2835
if (ZEND_FFI_TYPE (type -> func .ret_type )-> kind != ZEND_FFI_TYPE_VOID ) {
2836
- zend_ffi_cdata_to_zval (NULL , ret , ZEND_FFI_TYPE (type -> func .ret_type ), BP_VAR_R , return_value , 0 , 1 , 0 );
2836
+ zend_ffi_cdata_to_zval (NULL , ret , ZEND_FFI_TYPE (type -> func .ret_type ), BP_VAR_R , return_value , ( zend_ffi_flags ) 0 , 1 , 0 );
2837
2837
} else {
2838
2838
ZVAL_NULL (return_value );
2839
2839
}
@@ -3736,7 +3736,6 @@ ZEND_METHOD(FFI, new) /* {{{ */
3736
3736
bool owned = 1 ;
3737
3737
bool persistent = 0 ;
3738
3738
bool is_const = 0 ;
3739
- zend_ffi_flags flags = ZEND_FFI_FLAG_OWNED ;
3740
3739
3741
3740
ZEND_FFI_VALIDATE_API_RESTRICTION ();
3742
3741
ZEND_PARSE_PARAMETERS_START (1 , 3 )
@@ -3746,9 +3745,7 @@ ZEND_METHOD(FFI, new) /* {{{ */
3746
3745
Z_PARAM_BOOL (persistent )
3747
3746
ZEND_PARSE_PARAMETERS_END ();
3748
3747
3749
- if (!owned ) {
3750
- flags &= ~ZEND_FFI_FLAG_OWNED ;
3751
- }
3748
+ zend_ffi_flags flags = owned ? ZEND_FFI_FLAG_OWNED : 0 ;
3752
3749
3753
3750
if (persistent ) {
3754
3751
flags |= ZEND_FFI_FLAG_PERSISTENT ;
@@ -3871,7 +3868,7 @@ ZEND_METHOD(FFI, free) /* {{{ */
3871
3868
} else if (!(cdata -> flags & ZEND_FFI_FLAG_OWNED )) {
3872
3869
pefree (cdata -> ptr , cdata -> flags & ZEND_FFI_FLAG_PERSISTENT );
3873
3870
cdata -> ptr = NULL ;
3874
- cdata -> flags &= ~(ZEND_FFI_FLAG_OWNED |ZEND_FFI_FLAG_PERSISTENT );
3871
+ cdata -> flags = ( zend_ffi_flags )( cdata -> flags & ~(ZEND_FFI_FLAG_OWNED |ZEND_FFI_FLAG_PERSISTENT ) );
3875
3872
cdata -> std .handlers = & zend_ffi_cdata_free_handlers ;
3876
3873
} else {
3877
3874
zend_throw_error (zend_ffi_exception_ce , "free() non a C pointer" );
@@ -4045,7 +4042,7 @@ ZEND_METHOD(FFI, cast) /* {{{ */
4045
4042
if (old_cdata -> flags & ZEND_FFI_FLAG_OWNED ) {
4046
4043
if (GC_REFCOUNT (& old_cdata -> std ) == 1 && Z_REFCOUNT_P (arg ) == 1 ) {
4047
4044
/* transfer ownership */
4048
- old_cdata -> flags &= ~ZEND_FFI_FLAG_OWNED ;
4045
+ old_cdata -> flags = ( zend_ffi_flags )( old_cdata -> flags & ~ZEND_FFI_FLAG_OWNED ) ;
4049
4046
cdata -> flags |= ZEND_FFI_FLAG_OWNED ;
4050
4047
} else {
4051
4048
//???zend_throw_error(zend_ffi_exception_ce, "Attempt to cast owned C pointer");
@@ -4282,7 +4279,7 @@ ZEND_METHOD(FFI, addr) /* {{{ */
4282
4279
}
4283
4280
if (cdata -> flags & ZEND_FFI_FLAG_OWNED ) {
4284
4281
/* transfer ownership */
4285
- cdata -> flags &= ~ZEND_FFI_FLAG_OWNED ;
4282
+ cdata -> flags = ( zend_ffi_flags )( cdata -> flags & ~ZEND_FFI_FLAG_OWNED ) ;
4286
4283
new_cdata -> flags |= ZEND_FFI_FLAG_OWNED ;
4287
4284
}
4288
4285
}
0 commit comments