- int i;
- phpstr *custom_request_methods = phpstr_new();
- phpstr *known_request_methods = phpstr_from_string(HTTP_KNOWN_METHODS, lenof(HTTP_KNOWN_METHODS));
- http_request_method_entry **ptr = HTTP_G->request.methods.custom.entries;
-
- for (i = 0; i < HTTP_G->request.methods.custom.count; ++i) {
- if (ptr[i]) {
- phpstr_appendf(custom_request_methods, "%s, ", ptr[i]->name);
+ HashTable *ht;
+ HashPosition pos1, pos2;
+ HashKey provider = initHashKey(0), ident = initHashKey(0);
+ zval **val, **sub, **zused, **zfree;
+
+ if ((ht = http_persistent_handle_statall()) && 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)) {
+ convert_to_string(*zused);
+ convert_to_string(*zfree);
+ php_info_print_table_row(4, provider.str, ident.str, Z_STRVAL_PP(zused), Z_STRVAL_PP(zfree));
+ } 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");
+ }