|
|
|
@ -899,16 +899,11 @@ static int zend_hash_unique_copy(HashTable *target, HashTable *source, unique_co |
|
|
|
if (p->nKeyLength > 0 && p->arKey[0] == 0) { |
|
|
|
/* Mangled key */ |
|
|
|
#if ZEND_EXTENSION_API_NO >= PHP_5_3_X_API_NO |
|
|
|
if (((zend_function*)p->pData)->common.fn_flags & ZEND_ACC_CLOSURE) { |
|
|
|
/* update closure */ |
|
|
|
if (zend_hash_quick_update(target, p->arKey, p->nKeyLength, p->h, p->pData, size, &t) == SUCCESS) { |
|
|
|
if (pCopyConstructor) { |
|
|
|
pCopyConstructor(t); |
|
|
|
} |
|
|
|
if (zend_hash_quick_update(target, p->arKey, p->nKeyLength, p->h, p->pData, size, &t) == SUCCESS) { |
|
|
|
if (pCopyConstructor) { |
|
|
|
pCopyConstructor(t); |
|
|
|
} |
|
|
|
} else { |
|
|
|
/* ignore and wait for runtime */ |
|
|
|
} |
|
|
|
} |
|
|
|
#endif |
|
|
|
} else if (!ignore_dups && zend_hash_quick_find(target, p->arKey, p->nKeyLength, p->h, &t) == SUCCESS) { |
|
|
|
*fail_data = p->pData; |
|
|
|
|