+unsigned php_http_array_list(HashTable *ht TSRMLS_DC, unsigned argc, ...)
+{
+ HashPosition pos;
+ unsigned argl = 0;
+ va_list argv;
+
+ va_start(argv, argc);
+ for ( zend_hash_internal_pointer_reset_ex(ht, &pos);
+ SUCCESS == zend_hash_has_more_elements_ex(ht, &pos) && (argl < argc);
+ zend_hash_move_forward_ex(ht, &pos))
+ {
+ zval **data, ***argp = (zval ***) va_arg(argv, zval ***);
+
+ if (SUCCESS == zend_hash_get_current_data_ex(ht, (void *) &data, &pos)) {
+ *argp = data;
+ ++argl;
+ }
+ }
+ va_end(argv);
+
+ return argl;
+}
+
+void php_http_array_copy_strings(void *zpp)
+{
+ zval **zvpp = ((zval **) zpp);
+
+ *zvpp = php_http_zsep(1, IS_STRING, *zvpp);
+}
+