]> granicus.if.org Git - php/commitdiff
Add some basic_functions stubs
authorNikita Popov <nikita.ppv@gmail.com>
Sat, 10 Aug 2019 10:34:29 +0000 (12:34 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Sat, 10 Aug 2019 10:34:29 +0000 (12:34 +0200)
ext/standard/basic_functions.c
ext/standard/basic_functions.stub.php
ext/standard/basic_functions_arginfo.h
main/output.c

index 0e48c7304d4c56a3d6c81a03439adc9abc1f5570..f7490211b3d9c4e7bef6533745926ba01d5d24cf 100644 (file)
@@ -121,86 +121,7 @@ static void user_shutdown_function_dtor(zval *zv);
 static void user_tick_function_dtor(user_tick_function_entry *tick_function_entry);
 
 /* {{{ arginfo */
-/* {{{ main/main.c */
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_set_time_limit, _IS_BOOL, 0)
-       ZEND_ARG_INFO(0, seconds)
-ZEND_END_ARG_INFO()
-/* }}} */
-
-/* {{{ main/sapi.c */
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_header_register_callback, _IS_BOOL, 0)
-       ZEND_ARG_INFO(0, callback)
-ZEND_END_ARG_INFO()
-/* }}} */
-
-/* {{{ main/output.c */
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_start, 0, 0, _IS_BOOL, 0)
-       ZEND_ARG_INFO(0, user_function)
-       ZEND_ARG_INFO(0, chunk_size)
-       ZEND_ARG_INFO(0, flags)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_flush, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_clean, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_end_flush, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_end_clean, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_ob_get_flush, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_ob_get_clean, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_ob_get_contents, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_get_level, IS_LONG, 0)
-ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_INFO(arginfo_ob_get_length, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_list_handlers, IS_ARRAY, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_get_status, 0, 0, IS_ARRAY, 0)
-       ZEND_ARG_INFO(0, full_status)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_implicit_flush, 0, 0, IS_VOID, 0)
-       ZEND_ARG_INFO(0, flag)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_output_reset_rewrite_vars, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_output_add_rewrite_var, _IS_BOOL, 0)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, value)
-ZEND_END_ARG_INFO()
-/* }}} */
-/* {{{ main/streams/userspace.c */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_stream_wrapper_register, 0, 0, 2)
-       ZEND_ARG_INFO(0, protocol)
-       ZEND_ARG_INFO(0, classname)
-       ZEND_ARG_INFO(0, flags)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_stream_wrapper_unregister, 0)
-       ZEND_ARG_INFO(0, protocol)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_stream_wrapper_restore, 0)
-       ZEND_ARG_INFO(0, protocol)
-ZEND_END_ARG_INFO()
-/* }}} */
 /* {{{ array.c */
 ZEND_BEGIN_ARG_INFO_EX(arginfo_krsort, 0, 0, 1)
        ZEND_ARG_INFO(1, arg) /* ARRAY_INFO(1, arg, 0) */
index 3e8d6e15072f204c124df8d32b327467d4fabbf9..d0711269226905ac5a2c9439a873b0700c09ef36 100644 (file)
@@ -1,4 +1,61 @@
 <?php
 
+/* main/main.c */
+
+function set_time_limit(int $seconds): bool {}
+
+/* main/SAPI.c */
+
+// TODO: Make this a proper callable argument?
+function header_register_callback($callback): bool {}
+
+/* main/output.c */
+
+function ob_start(
+    $user_function = null, int $chunk_size = 0, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS): bool {}
+
+function ob_flush(): bool {}
+
+function ob_clean(): bool {}
+
+function ob_end_flush(): bool {}
+
+function ob_end_clean(): bool {}
+
+/** @return string|false */
+function ob_get_flush() {}
+
+/** @return string|false */
+function ob_get_clean() {}
+
+/** @return string|false */
+function ob_get_contents() {}
+
+function ob_get_level(): int {}
+
+/** @return int|false */
+function ob_get_length() {}
+
+function ob_list_handlers(): array {}
+
+function ob_get_status(bool $full_status = false): array {}
+
+// TODO: Shouldn't this be a bool argument?
+function ob_implicit_flush(int $flag = 1): void {}
+
+function output_reset_rewrite_vars(): bool {}
+
+function output_add_rewrite_var(string $name, string $value): bool {}
+
+/* main/streams/userspace.c */
+
+function stream_wrapper_register(string $protocol, string $classname, int $flags = 0): bool {}
+
+function stream_wrapper_unregister(string $protocol): bool {}
+
+function stream_wrapper_restore(string $protocol): bool {}
+
+/* array.c */
+
 /** @return int|false */
 function array_push(array &$stack, ...$args) {}
index 70df72bc64e82b1724f4643ea348bd6e45f8a9fb..bc4382912089727fca54f566c301b3f3720ab963 100644 (file)
@@ -1,5 +1,70 @@
 /* This is a generated file, edit the .stub.php file instead. */
 
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_header_register_callback, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, callback)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_start, 0, 0, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, user_function)
+       ZEND_ARG_TYPE_INFO(0, chunk_size, IS_LONG, 0)
+       ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_flush, 0, 0, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_ob_clean arginfo_ob_flush
+
+#define arginfo_ob_end_flush arginfo_ob_flush
+
+#define arginfo_ob_end_clean arginfo_ob_flush
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_ob_get_flush, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_ob_get_clean arginfo_ob_get_flush
+
+#define arginfo_ob_get_contents arginfo_ob_get_flush
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_get_level, 0, 0, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_ob_get_length arginfo_ob_get_flush
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_list_handlers, 0, 0, IS_ARRAY, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_get_status, 0, 0, IS_ARRAY, 0)
+       ZEND_ARG_TYPE_INFO(0, full_status, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_implicit_flush, 0, 0, IS_VOID, 0)
+       ZEND_ARG_TYPE_INFO(0, flag, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_output_reset_rewrite_vars arginfo_ob_flush
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_output_add_rewrite_var, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stream_wrapper_register, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, protocol, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, classname, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stream_wrapper_unregister, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, protocol, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_stream_wrapper_restore arginfo_stream_wrapper_unregister
+
 ZEND_BEGIN_ARG_INFO_EX(arginfo_array_push, 0, 0, 1)
        ZEND_ARG_TYPE_INFO(1, stack, IS_ARRAY, 0)
        ZEND_ARG_VARIADIC_INFO(0, args)
index 289f73d0daffe9e03c90e0cc073c868fb1e47114..2225198ff19bde591d764367a2e30f2717b4020b 100644 (file)
@@ -1392,7 +1392,7 @@ PHP_FUNCTION(ob_end_clean)
 }
 /* }}} */
 
-/* {{{ proto bool ob_get_flush(void)
+/* {{{ proto string|false ob_get_flush(void)
    Get current buffer contents, flush (send) the output buffer, and delete current output buffer */
 PHP_FUNCTION(ob_get_flush)
 {
@@ -1411,7 +1411,7 @@ PHP_FUNCTION(ob_get_flush)
 }
 /* }}} */
 
-/* {{{ proto bool ob_get_clean(void)
+/* {{{ proto string|false ob_get_clean(void)
    Get current buffer contents and delete current output buffer */
 PHP_FUNCTION(ob_get_clean)
 {