diff options
author | Rui Hirokawa <hirokawa@php.net> | 2008-06-13 14:50:03 +0000 |
---|---|---|
committer | Rui Hirokawa <hirokawa@php.net> | 2008-06-13 14:50:03 +0000 |
commit | bc9bdc928ecc6f189edd6f1a57a29d9a1e3341fc (patch) | |
tree | 2ffa6b055c611de371745f5b547b77c2b84e747e | |
parent | 8250e206b8b4c9fac1de3e8bb701b3193f7040ca (diff) | |
download | php-git-bc9bdc928ecc6f189edd6f1a57a29d9a1e3341fc.tar.gz |
MFH
-rw-r--r-- | ext/mbstring/mbstring.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index f49aeee567..7504564b80 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -1099,9 +1099,14 @@ PHP_RSHUTDOWN_FUNCTION(mbstring) /* clear overloaded function. */ if (MBSTRG(func_overload)){ p = &(mb_ovld[0]); - while (p->type > 0 && zend_hash_find(EG(function_table), p->save_func, strlen(p->save_func)+1 , (void **)&orig) == SUCCESS) { - zend_hash_update(EG(function_table), p->orig_func, strlen(p->orig_func)+1, orig, sizeof(zend_function), NULL); - zend_hash_del(EG(function_table), p->save_func, strlen(p->save_func)+1); + while (p->type > 0) { + if ((MBSTRG(func_overload) & p->type) == p->type && + zend_hash_find(EG(function_table), p->save_func, + strlen(p->save_func)+1, (void **)&orig) == SUCCESS) { + + zend_hash_update(EG(function_table), p->orig_func, strlen(p->orig_func)+1, orig, sizeof(zend_function), NULL); + zend_hash_del(EG(function_table), p->save_func, strlen(p->save_func)+1); + } p++; } } |