bug79532.phpt 617 B

123456789101112131415161718192021222324252627282930313233343536
  1. --TEST--
  2. Bug #79532 (sizeof off_t can be wrong)
  3. --EXTENSIONS--
  4. ffi
  5. zend_test
  6. --FILE--
  7. <?php
  8. require_once('utils.inc');
  9. $header = <<<HEADER
  10. void bug79532(off_t *array, size_t elems);
  11. HEADER;
  12. if (PHP_OS_FAMILY !== 'Windows') {
  13. $ffi = FFI::cdef($header);
  14. } else {
  15. try {
  16. $ffi = FFI::cdef($header, 'php_zend_test.dll');
  17. } catch (FFI\Exception $ex) {
  18. $ffi = FFI::cdef($header, ffi_get_php_dll_name());
  19. }
  20. }
  21. $array = FFI::new("off_t[3]");
  22. $ffi->bug79532($array, 3);
  23. var_dump($array);
  24. ?>
  25. --EXPECTF--
  26. object(FFI\CData:int%d_t[3])#%d (3) {
  27. [0]=>
  28. int(0)
  29. [1]=>
  30. int(1)
  31. [2]=>
  32. int(2)
  33. }