- php_info_print_table_start();
- php_info_print_table_colspan_header(2, "Registered API");
- for (i = 0; http_functions[i].fname; ++i) {
- if (buf.used) {
- php_http_buffer_appends(&buf, ", ");
- }
- php_http_buffer_appendl(&buf, http_functions[i].fname);
- }
- php_http_buffer_fix(&buf);
- php_info_print_table_row(2, "Functions", buf.data);
- php_http_buffer_reset(&buf);
- php_http_registered_classes(&buf, ZEND_ACC_INTERFACE);
- php_info_print_table_row(2, "Interfaces", buf.data);
- php_http_buffer_reset(&buf);
- php_http_registered_classes(&buf, ZEND_ACC_EXPLICIT_ABSTRACT_CLASS);
- php_info_print_table_row(2, "Abstract Classes", buf.data);
- php_http_buffer_reset(&buf);
- php_http_registered_classes(&buf, 0);
- php_info_print_table_row(2, "Implemented Classes", buf.data);
- php_http_buffer_reset(&buf);
- php_http_registered_classes(&buf, ZEND_ACC_FINAL_CLASS);
- php_info_print_table_row(2, "Final Classes", buf.data);
- php_http_buffer_reset(&buf);
-
- php_info_print_table_row(2, "Stream Filters", "http.chunked_encode, http.chunked_decode, http.inflate, http.deflate");
- 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_ztyp(IS_STRING, *zused);
- zval *free = php_http_ztyp(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);
- }
- }
- php_info_print_table_end();
-
- php_http_buffer_dtor(&buf);
-