- }
- php_info_print_table_end();
-
- php_info_print_table_start();
- php_info_print_table_colspan_header(4, "Persistent Handles");
- php_info_print_table_header(4, "Provider", "Ident", "Used", "Free");
- {
- HashTable *ht;
- HashPosition pos1, pos2;
- php_http_array_hashkey_t provider = php_http_array_hashkey_init(0), ident = php_http_array_hashkey_init(0);
- zval **val, **sub, **zused, **zfree;
-
- if ((ht = php_http_persistent_handle_statall(NULL TSRMLS_CC)) && zend_hash_num_elements(ht)) {
- FOREACH_HASH_KEYVAL(pos1, ht, provider, val) {
- if (zend_hash_num_elements(Z_ARRVAL_PP(val))) {
- FOREACH_KEYVAL(pos2, *val, ident, sub) {
- if ( SUCCESS == zend_hash_find(Z_ARRVAL_PP(sub), ZEND_STRS("used"), (void *) &zused) &&
- SUCCESS == zend_hash_find(Z_ARRVAL_PP(sub), ZEND_STRS("free"), (void *) &zfree)) {
- zval *used = php_http_zsep(IS_STRING, *zused);
- zval *free = php_http_zsep(IS_STRING, *zfree);
- php_info_print_table_row(4, provider.str, ident.str, Z_STRVAL_P(used), Z_STRVAL_P(free));
- zval_ptr_dtor(&used);
- zval_ptr_dtor(&free);
- } else {
- php_info_print_table_row(4, provider.str, ident.str, "0", "0");
- }
- }
- } else {
- php_info_print_table_row(4, provider.str, "N/A", "0", "0");
- }
- }
- } else {
- php_info_print_table_row(4, "N/A", "N/A", "0", "0");
- }
- if (ht) {
- zend_hash_destroy(ht);
- FREE_HASHTABLE(ht);
- }
- }