From: hsu at jean-david dot com Operating system: linux PHP version: 5.2.11 PHP Bug Type: Variables related Bug description: PHP_INT_SIZE inconsistent with pack("i"
Description: ------------ PHP pack documentation: i signed integer (machine dependent size and byte order) PHP integer documentation: Integer size can be determined using the constant PHP_INT_SIZE On some systems, I believe that the word "integer" will refer to objects of different sizes, such that pack("i", _) could point to an object of size X bytes and PHP_INT_SIZE return value Y which is inconsistent. /main/main.c l.1796: REGISTER_MAIN_LONG_CONSTANT("PHP_INT_SIZE", sizeof(long), CONST_PERSISTENT | CONST_CS); /ext/standard/pack.c l.402-403: php_pack(argv[currentarg++], sizeof(int), int_map, &output[outputpos]); outputpos += sizeof(int); Reproduce code: --------------- file_put_contents("test.bin",pack("I", 2)); var_dump(PHP_INT_SIZE === filesize("test.bin")); Expected result: ---------------- bool(true) Actual result: -------------- bool(false) -- Edit bug report at http://bugs.php.net/?id=49636&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=49636&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=49636&r=trysnapshot53 Try a snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=49636&r=trysnapshot60 Fixed in SVN: http://bugs.php.net/fix.php?id=49636&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=49636&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=49636&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=49636&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=49636&r=needscript Try newer version: http://bugs.php.net/fix.php?id=49636&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=49636&r=support Expected behavior: http://bugs.php.net/fix.php?id=49636&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=49636&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=49636&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=49636&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=49636&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=49636&r=dst IIS Stability: http://bugs.php.net/fix.php?id=49636&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=49636&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=49636&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=49636&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=49636&r=mysqlcfg