{"push_id":1198467694,"size":1,"distinct_size":1,"ref":"refs/heads/fix-php7-serialization-v2","head":"48ec69e3fc6301ba48e0c2cf6627fe6130a6707b","before":"2b7c703f0b2ad30b15cd0d85bc6b9e40e7603b13","commits":[{"sha":"48ec69e3fc6301ba48e0c2cf6627fe6130a6707b","author":{"name":"Tyson Andre","email":"76d75f8f46b4d5bfea1bc859c0306bb4f57a2215@uwaterloo.ca"},"message":"Fix php7 igbinary serialization and unserialization\n\nFixes #1 and some occurences of #12\r\n\r\nIn php7, zvals are no longer stored as pointers (`zval*`) in objects and arrays, but instead as values(`zval`).\r\nIn order to properly serialize references or shared values, use the underlying array/reference's reference count pointer. For objects, continue using object id. (like php5 does)\r\n\r\nThe code was previously calling igbinary_serialize_array_ref twice for array references(One for the reference, another time for the array). This is different from php5, and this PR ensures it is called only once (so that unserialize works properly)\r\n\r\nContinue to call igbinary_serialize_array_ref only once for objects.\r\n\r\nConvert references' `zval`s to references immediately, so that when unserialized, the references will be shared\r\n\r\nFixes https://bugs.php.net/bug.php?id=72134\r\n\r\nThis includes https://github.com/igbinary/igbinary7/pull/8 , which should be merged first\r\n\r\n- Refactor unserialize: Create function igsd_append_ref to add references when unserializing","distinct":true,"url":"https://api.github.com/repos/TysonAndre/igbinary7/commits/48ec69e3fc6301ba48e0c2cf6627fe6130a6707b"}]}
{"actor":{"display_login":"TysonAndre"}}