Skip to content

Commit d9e2d18

Browse files
committed
Add some basic_functions stubs
1 parent 172c719 commit d9e2d18

File tree

4 files changed

+124
-81
lines changed

4 files changed

+124
-81
lines changed

ext/standard/basic_functions.c

Lines changed: 0 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -121,86 +121,7 @@ static void user_shutdown_function_dtor(zval *zv);
121121
static void user_tick_function_dtor(user_tick_function_entry *tick_function_entry);
122122

123123
/* {{{ arginfo */
124-
/* {{{ main/main.c */
125-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_set_time_limit, _IS_BOOL, 0)
126-
ZEND_ARG_INFO(0, seconds)
127-
ZEND_END_ARG_INFO()
128-
/* }}} */
129-
130-
/* {{{ main/sapi.c */
131-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_header_register_callback, _IS_BOOL, 0)
132-
ZEND_ARG_INFO(0, callback)
133-
ZEND_END_ARG_INFO()
134-
/* }}} */
135-
136-
/* {{{ main/output.c */
137-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_start, 0, 0, _IS_BOOL, 0)
138-
ZEND_ARG_INFO(0, user_function)
139-
ZEND_ARG_INFO(0, chunk_size)
140-
ZEND_ARG_INFO(0, flags)
141-
ZEND_END_ARG_INFO()
142-
143-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_flush, _IS_BOOL, 0)
144-
ZEND_END_ARG_INFO()
145-
146-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_clean, _IS_BOOL, 0)
147-
ZEND_END_ARG_INFO()
148-
149-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_end_flush, _IS_BOOL, 0)
150-
ZEND_END_ARG_INFO()
151-
152-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_end_clean, _IS_BOOL, 0)
153-
ZEND_END_ARG_INFO()
154-
155-
ZEND_BEGIN_ARG_INFO(arginfo_ob_get_flush, 0)
156-
ZEND_END_ARG_INFO()
157-
158-
ZEND_BEGIN_ARG_INFO(arginfo_ob_get_clean, 0)
159-
ZEND_END_ARG_INFO()
160-
161-
ZEND_BEGIN_ARG_INFO(arginfo_ob_get_contents, 0)
162-
ZEND_END_ARG_INFO()
163-
164-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_get_level, IS_LONG, 0)
165-
ZEND_END_ARG_INFO()
166124

167-
ZEND_BEGIN_ARG_INFO(arginfo_ob_get_length, 0)
168-
ZEND_END_ARG_INFO()
169-
170-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_ob_list_handlers, IS_ARRAY, 0)
171-
ZEND_END_ARG_INFO()
172-
173-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_get_status, 0, 0, IS_ARRAY, 0)
174-
ZEND_ARG_INFO(0, full_status)
175-
ZEND_END_ARG_INFO()
176-
177-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_implicit_flush, 0, 0, IS_VOID, 0)
178-
ZEND_ARG_INFO(0, flag)
179-
ZEND_END_ARG_INFO()
180-
181-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_output_reset_rewrite_vars, _IS_BOOL, 0)
182-
ZEND_END_ARG_INFO()
183-
184-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_output_add_rewrite_var, _IS_BOOL, 0)
185-
ZEND_ARG_INFO(0, name)
186-
ZEND_ARG_INFO(0, value)
187-
ZEND_END_ARG_INFO()
188-
/* }}} */
189-
/* {{{ main/streams/userspace.c */
190-
ZEND_BEGIN_ARG_INFO_EX(arginfo_stream_wrapper_register, 0, 0, 2)
191-
ZEND_ARG_INFO(0, protocol)
192-
ZEND_ARG_INFO(0, classname)
193-
ZEND_ARG_INFO(0, flags)
194-
ZEND_END_ARG_INFO()
195-
196-
ZEND_BEGIN_ARG_INFO(arginfo_stream_wrapper_unregister, 0)
197-
ZEND_ARG_INFO(0, protocol)
198-
ZEND_END_ARG_INFO()
199-
200-
ZEND_BEGIN_ARG_INFO(arginfo_stream_wrapper_restore, 0)
201-
ZEND_ARG_INFO(0, protocol)
202-
ZEND_END_ARG_INFO()
203-
/* }}} */
204125
/* {{{ array.c */
205126
ZEND_BEGIN_ARG_INFO_EX(arginfo_krsort, 0, 0, 1)
206127
ZEND_ARG_INFO(1, arg) /* ARRAY_INFO(1, arg, 0) */

ext/standard/basic_functions.stub.php

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,61 @@
11
<?php
22

3+
/* main/main.c */
4+
5+
function set_time_limit(int $seconds): bool {}
6+
7+
/* main/SAPI.c */
8+
9+
// TODO: Make this a proper callable argument?
10+
function header_register_callback($callback): bool {}
11+
12+
/* main/output.c */
13+
14+
function ob_start(
15+
$user_function = null, int $chunk_size = 0, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS): bool {}
16+
17+
function ob_flush(): bool {}
18+
19+
function ob_clean(): bool {}
20+
21+
function ob_end_flush(): bool {}
22+
23+
function ob_end_clean(): bool {}
24+
25+
/** @return string|false */
26+
function ob_get_flush() {}
27+
28+
/** @return string|false */
29+
function ob_get_clean() {}
30+
31+
/** @return string|false */
32+
function ob_get_contents() {}
33+
34+
function ob_get_level(): int {}
35+
36+
/** @return int|false */
37+
function ob_get_length() {}
38+
39+
function ob_list_handlers(): array {}
40+
41+
function ob_get_status(bool $full_status = false): array {}
42+
43+
// TODO: Shouldn't this be a bool argument?
44+
function ob_implicit_flush(int $flag = 1): void {}
45+
46+
function output_reset_rewrite_vars(): bool {}
47+
48+
function output_add_rewrite_var(string $name, string $value): bool {}
49+
50+
/* main/streams/userspace.c */
51+
52+
function stream_wrapper_register(string $protocol, string $classname, int $flags = 0): bool {}
53+
54+
function stream_wrapper_unregister(string $protocol): bool {}
55+
56+
function stream_wrapper_restore(string $protocol): bool {}
57+
58+
/* array.c */
59+
360
/** @return int|false */
461
function array_push(array &$stack, ...$args) {}

ext/standard/basic_functions_arginfo.h

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,70 @@
11
/* This is a generated file, edit the .stub.php file instead. */
22

3+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0)
4+
ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0)
5+
ZEND_END_ARG_INFO()
6+
7+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_header_register_callback, 0, 1, _IS_BOOL, 0)
8+
ZEND_ARG_INFO(0, callback)
9+
ZEND_END_ARG_INFO()
10+
11+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_start, 0, 0, _IS_BOOL, 0)
12+
ZEND_ARG_INFO(0, user_function)
13+
ZEND_ARG_TYPE_INFO(0, chunk_size, IS_LONG, 0)
14+
ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
15+
ZEND_END_ARG_INFO()
16+
17+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_flush, 0, 0, _IS_BOOL, 0)
18+
ZEND_END_ARG_INFO()
19+
20+
#define arginfo_ob_clean arginfo_ob_flush
21+
22+
#define arginfo_ob_end_flush arginfo_ob_flush
23+
24+
#define arginfo_ob_end_clean arginfo_ob_flush
25+
26+
ZEND_BEGIN_ARG_INFO_EX(arginfo_ob_get_flush, 0, 0, 0)
27+
ZEND_END_ARG_INFO()
28+
29+
#define arginfo_ob_get_clean arginfo_ob_get_flush
30+
31+
#define arginfo_ob_get_contents arginfo_ob_get_flush
32+
33+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_get_level, 0, 0, IS_LONG, 0)
34+
ZEND_END_ARG_INFO()
35+
36+
#define arginfo_ob_get_length arginfo_ob_get_flush
37+
38+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_list_handlers, 0, 0, IS_ARRAY, 0)
39+
ZEND_END_ARG_INFO()
40+
41+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_get_status, 0, 0, IS_ARRAY, 0)
42+
ZEND_ARG_TYPE_INFO(0, full_status, _IS_BOOL, 0)
43+
ZEND_END_ARG_INFO()
44+
45+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ob_implicit_flush, 0, 0, IS_VOID, 0)
46+
ZEND_ARG_TYPE_INFO(0, flag, IS_LONG, 0)
47+
ZEND_END_ARG_INFO()
48+
49+
#define arginfo_output_reset_rewrite_vars arginfo_ob_flush
50+
51+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_output_add_rewrite_var, 0, 2, _IS_BOOL, 0)
52+
ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
53+
ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
54+
ZEND_END_ARG_INFO()
55+
56+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stream_wrapper_register, 0, 2, _IS_BOOL, 0)
57+
ZEND_ARG_TYPE_INFO(0, protocol, IS_STRING, 0)
58+
ZEND_ARG_TYPE_INFO(0, classname, IS_STRING, 0)
59+
ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
60+
ZEND_END_ARG_INFO()
61+
62+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stream_wrapper_unregister, 0, 1, _IS_BOOL, 0)
63+
ZEND_ARG_TYPE_INFO(0, protocol, IS_STRING, 0)
64+
ZEND_END_ARG_INFO()
65+
66+
#define arginfo_stream_wrapper_restore arginfo_stream_wrapper_unregister
67+
368
ZEND_BEGIN_ARG_INFO_EX(arginfo_array_push, 0, 0, 1)
469
ZEND_ARG_TYPE_INFO(1, stack, IS_ARRAY, 0)
570
ZEND_ARG_VARIADIC_INFO(0, args)

main/output.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1392,7 +1392,7 @@ PHP_FUNCTION(ob_end_clean)
13921392
}
13931393
/* }}} */
13941394

1395-
/* {{{ proto bool ob_get_flush(void)
1395+
/* {{{ proto string|false ob_get_flush(void)
13961396
Get current buffer contents, flush (send) the output buffer, and delete current output buffer */
13971397
PHP_FUNCTION(ob_get_flush)
13981398
{
@@ -1411,7 +1411,7 @@ PHP_FUNCTION(ob_get_flush)
14111411
}
14121412
/* }}} */
14131413

1414-
/* {{{ proto bool ob_get_clean(void)
1414+
/* {{{ proto string|false ob_get_clean(void)
14151415
Get current buffer contents and delete current output buffer */
14161416
PHP_FUNCTION(ob_get_clean)
14171417
{

0 commit comments

Comments
 (0)