xref: /PHP-7.4/ext/ffi/tests/036.phpt (revision 6738241a)
1--TEST--
2FFI 036: Type memory management
3--SKIPIF--
4<?php require_once('skipif.inc'); ?>
5--INI--
6ffi.enable=1
7--FILE--
8<?php
9$type = FFI::type("int*");
10
11function foo($ptr) {
12	global $type;
13	//$buf = FFI::new("int*[1]"); /* this loses type and crash */
14	$buf = FFI::new(FFI::arrayType($type, [1]));
15	$buf[0] = $ptr;
16	//...
17	return $buf[0];
18}
19
20$int = FFI::new("int");
21$int->cdata = 42;
22var_dump(foo(FFI::addr($int)));
23?>
24--EXPECTF--
25object(FFI\CData:int32_t*)#%d (1) {
26  [0]=>
27  int(42)
28}
29