summaryrefslogtreecommitdiff
path: root/ext/standard/pack.c
diff options
context:
space:
mode:
authorGustavo André dos Santos Lopes <cataphract@php.net>2012-04-23 22:10:50 +0100
committerGustavo André dos Santos Lopes <cataphract@php.net>2012-04-23 22:10:50 +0100
commitd77cde46e138b41c944807545489e82c4ac12b8d (patch)
tree1e1189a0a56cecbddad074658e9902084e86373b /ext/standard/pack.c
parent93d42fb444cbcd3850afd3db028319b8d4c30f10 (diff)
parent485638a09c23e48820e0160c26098b0ef571c533 (diff)
downloadphp-git-d77cde46e138b41c944807545489e82c4ac12b8d.tar.gz
Merge branch '5.4'
Diffstat (limited to 'ext/standard/pack.c')
-rw-r--r--ext/standard/pack.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/ext/standard/pack.c b/ext/standard/pack.c
index 3cd6ee7c50..a21d41bda7 100644
--- a/ext/standard/pack.c
+++ b/ext/standard/pack.c
@@ -815,16 +815,14 @@ PHP_FUNCTION(unpack)
case 'i':
case 'I': {
- long v = 0;
+ long v;
int issigned = 0;
if (type == 'i') {
issigned = input[inputpos + (machine_little_endian ? (sizeof(int) - 1) : 0)] & 0x80;
- } else if (sizeof(long) > 4 && (input[inputpos + machine_endian_long_map[3]] & 0x80) == 0x80) {
- v = ~INT_MAX;
}
- v |= php_unpack(&input[inputpos], sizeof(int), issigned, int_map);
+ v = php_unpack(&input[inputpos], sizeof(int), issigned, int_map);
add_assoc_long(return_value, n, v);
break;
}