bug79096.phpt 616 B

12345678910111213141516171819202122232425262728293031323334353637
  1. --TEST--
  2. Bug #79096 (FFI Struct Segfault)
  3. --EXTENSIONS--
  4. ffi
  5. zend_test
  6. --FILE--
  7. <?php
  8. require_once('utils.inc');
  9. $header = <<<HEADER
  10. struct bug79096 {
  11. uint64_t a;
  12. uint64_t b;
  13. };
  14. struct bug79096 bug79096(void);
  15. HEADER;
  16. if (PHP_OS_FAMILY !== 'Windows') {
  17. $ffi = FFI::cdef($header);
  18. } else {
  19. try {
  20. $ffi = FFI::cdef($header, 'php_zend_test.dll');
  21. } catch (FFI\Exception $ex) {
  22. $ffi = FFI::cdef($header, ffi_get_php_dll_name());
  23. }
  24. }
  25. $struct = $ffi->bug79096();
  26. var_dump($struct);
  27. ?>
  28. --EXPECTF--
  29. object(FFI\CData:struct bug79096)#%d (2) {
  30. ["a"]=>
  31. int(1)
  32. ["b"]=>
  33. int(1)
  34. }