We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 65cfe26 commit 47a5320Copy full SHA for 47a5320
ext/standard/pack.c
@@ -77,17 +77,14 @@ typedef ZEND_SET_ALIGNED(1, int unaligned_int);
77
/* {{{ php_pack */
78
static void php_pack(const zval *val, size_t size, php_pack_endianness endianness, char *output)
79
{
80
- zend_long zl = zval_get_long(val);
+ zend_ulong zl = zval_get_long(val);
81
82
- const char *v = (const char *) &zl;
83
if ((endianness == PHP_LITTLE_ENDIAN) != MACHINE_LITTLE_ENDIAN) {
84
zl = PHP_LONG_BSWAP(zl);
85
- v += sizeof(zl) - size;
+ zl >>= (sizeof(zl) - size) * 8;
86
}
87
88
- while (size-- > 0) {
89
- *output++ = *v++;
90
- }
+ memcpy(output, (const char *) &zl, size);
91
92
/* }}} */
93
0 commit comments