Skip to content

Instantly share code, notes, and snippets.

View adoy's full-sized avatar

Pierrick Charron adoy

View GitHub Profile
@adoy
adoy / gist:4369286
Created December 24, 2012 13:39
Improve resource management for curl handle Previous implementation was using its own refcounting (uses field of the php_curl struct). zend_list_add/remove already implements its own refcount, so we don't need to use an other one.
From 4ed606fb706647466e16a9e4ba8b2bdc8002b219 Mon Sep 17 00:00:00 2001
From: Pierrick Charron <pierrick@webstart.fr>
Date: Sat, 22 Dec 2012 17:24:26 -0500
Subject: [PATCH] Improve resource management for curl handle
Previous implementation was using its own refcounting (uses field of
the php_curl struct). zend_list_add/remove already implements its own
refcount, so we don't need to use an other one.
---
ext/curl/interface.c | 11 ++---------
@adoy
adoy / zend_llist.patch
Created December 26, 2012 01:12
zend_llist_del_element improvement
diff --git a/Zend/zend_llist.c b/Zend/zend_llist.c
index 4656420..26baf4d 100644
--- a/Zend/zend_llist.c
+++ b/Zend/zend_llist.c
@@ -91,15 +91,13 @@ ZEND_API void zend_llist_prepend_element(zend_llist *l, void *element)
ZEND_API void zend_llist_del_element(zend_llist *l, void *element, int (*compare)(void *element1, void *element2))
{
zend_llist_element *current=l->head;
- zend_llist_element *next;
diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c
index c6181d9..bb86e76 100644
--- a/ext/spl/spl_iterators.c
+++ b/ext/spl/spl_iterators.c
@@ -1682,7 +1682,7 @@ static inline void spl_dual_it_rewind(spl_dual_it_object *intern TSRMLS_DC)
{
spl_dual_it_free(intern TSRMLS_CC);
intern->current.pos = 0;
- if (intern->inner.iterator->funcs->rewind) {
+ if (intern->inner.iterator && intern->inner.iterator->funcs->rewind) {
php-8.2.0alpha2.tar.bz2
SHA256 hash: b611eeff65d0b3e9182de230163e2345ecfd6fabb4e1e009dce099ba63a3f221
PGP signature:
-----BEGIN PGP SIGNATURE-----
iQJFBAABCgAvFiEEEZjAEXWTSXpexcGZKGrx+Yl0adwFAmKx43URHHBpZXJyaWNr
QHBocC5uZXQACgkQKGrx+Yl0adx9RA//RArQCXUgZYDz0eRCK6E1cfVFRtwU6dLh
OU/j5lNbpAuMzDTcPzNd3akziu5dTrHenVE3QWHFNQruuqvmPwRSRxCwB/QymbXv
f4aembKwwcn/g9Aos+bSk1mPncIMv21eFOBWCwFFB3/hMJBl3eltAOzw2w5K17WV
XJwc7NwcwBwg7UW6qdsj4WXbIqzw+4Uef3jAciKuUOi/5v+z1YKqtVXF017qq9nr
php-8.2.0beta1.tar.bz2
SHA256 hash: ab7292701c12393892cfc7c2d93f8d2701946d073c87a1e05619da3e04a009a7
PGP signature:
-----BEGIN PGP SIGNATURE-----
iQJFBAABCgAvFiEEEZjAEXWTSXpexcGZKGrx+Yl0adwFAmLW3BQRHHBpZXJyaWNr
QHBocC5uZXQACgkQKGrx+Yl0adxBvw/8DxXzR/AUqkEtIVPwoOXmZ59x6DONPxZ2
7pMx94ZU0FJFvUGbOzlFIQc2gug0RhCEpxRbIFg7lj3gkXZAL6CRFS86jF4N/nR7
5Pt6rtx2H2uyX9a9DhCa/7ZKo0fuTz2ZDemwPbRom8TkRcMSysW0lmHplKQ3DBOM
qk6jb/chFiV0VNYfKqSJpftvWFMMUwqRRc8Z2rmyxoRc2gh6ak+aK0TVQR4tMEhP
php-8.2.0beta3.tar.bz2
SHA256 hash: 2c09e6a3122e7e8ff9ccde7fce3199b5a1af72bc4e3dd603f2ee6f794e0f2da0
PGP signature:
-----BEGIN PGP SIGNATURE-----
iQJFBAABCgAvFiEEEZjAEXWTSXpexcGZKGrx+Yl0adwFAmL7vB4RHHBpZXJyaWNr
QHBocC5uZXQACgkQKGrx+Yl0adyyDhAAjjqh8D0vHsRcHWB1/7D4RDzeOFjr6L+I
uJFoJ5F28zMEZQwgYCFGBdX7DZQHi7Ya6jNEdwN1xCytM06iQ16s3N7v8vuMiPxa
Axjz4NKYRSh7sSBhMfQCjEVR35ZjxeG3DOAC2teGMGnn6KkP06BZcjQaDmKyChuj
P1gV3wv5F5NFUfMEWhoQ6Aa01hu7L8FLoEhXIfpg2Hu0/1g7xLuoaI07Qq0GCHlK
php-8.2.0RC1.tar.bz2
SHA256 hash: baa8cf5ecfc97940ddb9a09734d1eb69242e7056351517ab246a78f0ed0b0bdf
PGP signature:
-----BEGIN PGP SIGNATURE-----
iQJFBAABCgAvFiEEEZjAEXWTSXpexcGZKGrx+Yl0adwFAmMONR8RHHBpZXJyaWNr
QHBocC5uZXQACgkQKGrx+Yl0ady41BAAhp8gJnNbd6ais3M3GElEqMZurA1SWpXY
OXa0VOnZFesS+v1VeIvVdJrE91DYeNtX+Kz+Pb7bCFI14huvQ4aWYfyigGxPewx4
uJoCI4qVVUZ+LmM7jH7Ieh5+ftm9SpOTNSsOJf+1CaaG/y8Ig56VCYMPPDOCHqoU
ie0sA57VXC34ePR79XTkz7h682ZSZSalM9rpzXrdDIsxGb+9PMRhiI95imM09QGF
php-8.2.0RC3.tar.bz2
SHA256 hash: 3563c27710ce82136a5326ef915b1a006c2d3c7d7a02b424221ed38a01a76199
PGP signature:
-----BEGIN PGP SIGNATURE-----
iQJFBAABCgAvFiEEEZjAEXWTSXpexcGZKGrx+Yl0adwFAmMzcNQRHHBpZXJyaWNr
QHBocC5uZXQACgkQKGrx+Yl0adzTGhAAkEvt+DRZiVzmDDfyXHoYWksqApHwC1N0
DcoPee4OsYFksZ56uJiVScqSANFHYL0MV/qCe9/Y30Kb8P+pPS22pJ4ffZNgynD0
7oRC0Wzez3M1HRgjo/kjtU2BGKnNqWOxMDT8sO+fXE69Iis/BlDEnouNBgEJxvH5
3lCdRVbY/v7IkwkTMwMPFC6+5X/8bxUSOaEvFWKLs5k61Wjzk9NIRL8fbtmtXFPM
php-8.2.0RC5.tar.bz2
SHA256 hash: 0c20a018520531f8fc2fef47131a280e26c2c0575b1b724b5d6afc61ebb7695c
PGP signature:
-----BEGIN PGP SIGNATURE-----
iQJFBAABCgAvFiEEEZjAEXWTSXpexcGZKGrx+Yl0adwFAmNYIeERHHBpZXJyaWNr
QHBocC5uZXQACgkQKGrx+Yl0adxIchAAopdMvje8Oo7ImWIDdTFwh2oxqnshqT7d
F38iu0KXpAGJYri2Gkr9sCJzmicR9DVYFsl6irHQj2SxIu+UupKd9Q2OM75P9t+8
ZsfIKS+n0Z23eOe0GYRWgKror8ll61rhrS0tliQjvYgXAfNrOydN25zcCUJG/P1r
nsYBCPs378KgHzMgAWQobh7A+725Fupsdd1otfAtIBfmsA8ui/HhXRzTlCVNRnsU
php-8.2.0RC7.tar.bz2
SHA256 hash: dedd83919b6483399ef5896ff2f08f1f0e8e599ab4ff6d4c4ad1c6c711c8fdbd
PGP signature:
-----BEGIN PGP SIGNATURE-----
iQJFBAABCgAvFiEEEZjAEXWTSXpexcGZKGrx+Yl0adwFAmN9ED8RHHBpZXJyaWNr
QHBocC5uZXQACgkQKGrx+Yl0adwTuw//bazD4MBFKojv4OGcWw6nSA3sNqsYT62R
K9O11+c2DgGsEXXpc6eO8/x/3v+2Z12RhI3GbKPG/CcQlCK0FW65uEQsbR5uLBx9
AhYHcXOZ5s/YJn5e41sIdvmazsoWWgSO8hZcQ8OQ2XcLnOD3t76EYit8WzEY+HCE
K8SQBCXgKNjKlDF5N+LFFy63dGiGofWF2E1NLvn9U1MZweyBypoydfLLCUJsPncm