From: jenkins-bot Date: Thu, 9 Jul 2015 14:20:24 +0000 (+0000) Subject: Merge "objectcache: Ensure an integer put into memcached comes out an integer" X-Git-Tag: 1.31.0-rc.0~10838 X-Git-Url: http://git.heureux-cyclage.org/?a=commitdiff_plain;h=b95d41c62b9ba913f9f96388a9f9a39061aa6a19;hp=23f5395a8c772d8076ef7033aac43945e963e40c;p=lhc%2Fweb%2Fwiklou.git Merge "objectcache: Ensure an integer put into memcached comes out an integer" --- diff --git a/includes/objectcache/MemcachedClient.php b/includes/objectcache/MemcachedClient.php index 6912864d16..5010b8998a 100644 --- a/includes/objectcache/MemcachedClient.php +++ b/includes/objectcache/MemcachedClient.php @@ -94,6 +94,11 @@ class MWMemcached { */ const COMPRESSED = 2; + /** + * Flag: indicates data is an integer + */ + const INTVAL = 4; + // }}} /** @@ -979,6 +984,8 @@ class MWMemcached { */ if ( $flags & self::SERIALIZED ) { $ret[$rkey] = unserialize( $ret[$rkey] ); + } elseif ( $flags & self::INTVAL ) { + $ret[$rkey] = intval( $ret[$rkey] ); } } @@ -1027,7 +1034,9 @@ class MWMemcached { $flags = 0; - if ( !is_scalar( $val ) ) { + if ( is_int( $val ) ) { + $flags |= self::INTVAL; + } elseif ( !is_scalar( $val ) ) { $val = serialize( $val ); $flags |= self::SERIALIZED; if ( $this->_debug ) {