025.phpt 645 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. --TEST--
  2. FFI 025: direct work with primitive types
  3. --EXTENSIONS--
  4. ffi
  5. --INI--
  6. ffi.enable=1
  7. --FILE--
  8. <?php
  9. $x = FFI::new("int");
  10. $x->cdata = 5;
  11. var_dump($x);
  12. $x->cdata += 2;
  13. var_dump($x);
  14. echo "$x\n\n";
  15. unset($x);
  16. $x = FFI::new("char");
  17. $x->cdata = 'a';
  18. var_dump($x);
  19. $x->cdata++;
  20. var_dump($x);
  21. echo "$x\n\n";
  22. unset($x);
  23. ?>
  24. --EXPECTF--
  25. object(FFI\CData:int32_t)#%d (1) {
  26. ["cdata"]=>
  27. int(5)
  28. }
  29. object(FFI\CData:int32_t)#%d (1) {
  30. ["cdata"]=>
  31. int(7)
  32. }
  33. 7
  34. object(FFI\CData:char)#%d (1) {
  35. ["cdata"]=>
  36. string(1) "a"
  37. }
  38. object(FFI\CData:char)#%d (1) {
  39. ["cdata"]=>
  40. string(1) "b"
  41. }
  42. b