diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2014-02-10 10:04:30 +0400 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2014-02-10 10:04:30 +0400 |
| commit | f4cfaf36e23ca47da3e352e1c60909104c059647 (patch) | |
| tree | 0db3e2a323b12c5bbf1a958c857f92eb58c240d1 /ext/mysqli/mysqli.c | |
| parent | 89a9acea1f9d821a9805b3857bf4febbba08690d (diff) | |
| download | php-git-f4cfaf36e23ca47da3e352e1c60909104c059647.tar.gz | |
Use better data structures (incomplete)
Diffstat (limited to 'ext/mysqli/mysqli.c')
| -rw-r--r-- | ext/mysqli/mysqli.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/ext/mysqli/mysqli.c b/ext/mysqli/mysqli.c index 929f776a43..7785fff58a 100644 --- a/ext/mysqli/mysqli.c +++ b/ext/mysqli/mysqli.c @@ -634,9 +634,9 @@ PHP_MINIT_FUNCTION(mysqli) INIT_CLASS_ENTRY(cex, "mysqli_sql_exception", mysqli_exception_methods); #ifdef HAVE_SPL - mysqli_exception_class_entry = zend_register_internal_class_ex(&cex, spl_ce_RuntimeException, NULL TSRMLS_CC); + mysqli_exception_class_entry = zend_register_internal_class_ex(&cex, spl_ce_RuntimeException TSRMLS_CC); #else - mysqli_exception_class_entry = zend_register_internal_class_ex(&cex, zend_exception_get_default(TSRMLS_C), NULL TSRMLS_CC); + mysqli_exception_class_entry = zend_register_internal_class_ex(&cex, zend_exception_get_default(TSRMLS_C) TSRMLS_CC); #endif mysqli_exception_class_entry->ce_flags |= ZEND_ACC_FINAL; zend_declare_property_long(mysqli_exception_class_entry, "code", sizeof("code")-1, 0, ZEND_ACC_PROTECTED TSRMLS_CC); @@ -1290,14 +1290,15 @@ void php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAMETERS, int override_flags if (ctor_params && Z_TYPE_P(ctor_params) != IS_NULL) { if (Z_TYPE_P(ctor_params) == IS_ARRAY) { HashTable *params_ht = Z_ARRVAL_P(ctor_params); + uint idx; Bucket *p; fci.param_count = 0; fci.params = safe_emalloc(sizeof(zval*), params_ht->nNumOfElements, 0); - p = params_ht->pListHead; - while (p != NULL) { - fci.params[fci.param_count++] = (zval**)p->pData; - p = p->pListNext; + for (idx = 0; idx < params_ht->nNumUsed; idx++) { + p = params_ht->arData + idx; + if (!p->xData) continue; + fci.params[fci.param_count++] = (zval**)&p->xData; } } else { /* Two problems why we throw exceptions here: PHP is typeless |
