Skip to content

Commit 9563449

Browse files
committed
Add stubs for another batch of standard functions
1 parent 16e68ac commit 9563449

File tree

4 files changed

+513
-334
lines changed

4 files changed

+513
-334
lines changed

ext/opcache/Optimizer/zend_func_info.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -337,10 +337,10 @@ static const func_info_t func_infos[] = {
337337
F1("fgets", MAY_BE_FALSE | MAY_BE_STRING),
338338
F1("fread", MAY_BE_FALSE | MAY_BE_STRING),
339339
F1("fopen", MAY_BE_FALSE | MAY_BE_RESOURCE),
340-
F0("fpassthru", MAY_BE_FALSE | MAY_BE_LONG),
340+
F0("fpassthru", MAY_BE_LONG),
341341
F0("ftruncate", MAY_BE_FALSE | MAY_BE_TRUE),
342342
F1("fstat", MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_LONG),
343-
F0("fseek", MAY_BE_FALSE | MAY_BE_LONG),
343+
F0("fseek", MAY_BE_LONG),
344344
F0("ftell", MAY_BE_FALSE | MAY_BE_LONG),
345345
F0("fflush", MAY_BE_FALSE | MAY_BE_TRUE),
346346
F0("fwrite", MAY_BE_FALSE | MAY_BE_LONG),

ext/standard/basic_functions.c

Lines changed: 2 additions & 332 deletions
Original file line numberDiff line numberDiff line change
@@ -121,313 +121,6 @@ static void user_tick_function_dtor(user_tick_function_entry *tick_function_entr
121121

122122
/* {{{ arginfo */
123123

124-
/* {{{ exec.c */
125-
ZEND_BEGIN_ARG_INFO_EX(arginfo_exec, 0, 0, 1)
126-
ZEND_ARG_INFO(0, command)
127-
ZEND_ARG_INFO(1, output) /* ARRAY_INFO(1, output, 1) */
128-
ZEND_ARG_INFO(1, return_value)
129-
ZEND_END_ARG_INFO()
130-
131-
ZEND_BEGIN_ARG_INFO_EX(arginfo_system, 0, 0, 1)
132-
ZEND_ARG_INFO(0, command)
133-
ZEND_ARG_INFO(1, return_value)
134-
ZEND_END_ARG_INFO()
135-
136-
ZEND_BEGIN_ARG_INFO_EX(arginfo_passthru, 0, 0, 1)
137-
ZEND_ARG_INFO(0, command)
138-
ZEND_ARG_INFO(1, return_value)
139-
ZEND_END_ARG_INFO()
140-
141-
ZEND_BEGIN_ARG_INFO(arginfo_escapeshellcmd, 0)
142-
ZEND_ARG_INFO(0, command)
143-
ZEND_END_ARG_INFO()
144-
145-
ZEND_BEGIN_ARG_INFO(arginfo_escapeshellarg, 0)
146-
ZEND_ARG_INFO(0, arg)
147-
ZEND_END_ARG_INFO()
148-
149-
ZEND_BEGIN_ARG_INFO(arginfo_shell_exec, 0)
150-
ZEND_ARG_INFO(0, cmd)
151-
ZEND_END_ARG_INFO()
152-
153-
#ifdef HAVE_NICE
154-
ZEND_BEGIN_ARG_INFO(arginfo_proc_nice, 0)
155-
ZEND_ARG_INFO(0, priority)
156-
ZEND_END_ARG_INFO()
157-
#endif
158-
/* }}} */
159-
/* {{{ file.c */
160-
ZEND_BEGIN_ARG_INFO_EX(arginfo_flock, 0, 0, 2)
161-
ZEND_ARG_INFO(0, fp)
162-
ZEND_ARG_INFO(0, operation)
163-
ZEND_ARG_INFO(1, wouldblock)
164-
ZEND_END_ARG_INFO()
165-
166-
ZEND_BEGIN_ARG_INFO_EX(arginfo_get_meta_tags, 0, 0, 1)
167-
ZEND_ARG_INFO(0, filename)
168-
ZEND_ARG_INFO(0, use_include_path)
169-
ZEND_END_ARG_INFO()
170-
171-
ZEND_BEGIN_ARG_INFO_EX(arginfo_file_get_contents, 0, 0, 1)
172-
ZEND_ARG_INFO(0, filename)
173-
ZEND_ARG_INFO(0, flags)
174-
ZEND_ARG_INFO(0, context)
175-
ZEND_ARG_INFO(0, offset)
176-
ZEND_ARG_INFO(0, maxlen)
177-
ZEND_END_ARG_INFO()
178-
179-
ZEND_BEGIN_ARG_INFO_EX(arginfo_file_put_contents, 0, 0, 2)
180-
ZEND_ARG_INFO(0, filename)
181-
ZEND_ARG_INFO(0, data)
182-
ZEND_ARG_INFO(0, flags)
183-
ZEND_ARG_INFO(0, context)
184-
ZEND_END_ARG_INFO()
185-
186-
ZEND_BEGIN_ARG_INFO_EX(arginfo_file, 0, 0, 1)
187-
ZEND_ARG_INFO(0, filename)
188-
ZEND_ARG_INFO(0, flags)
189-
ZEND_ARG_INFO(0, context)
190-
ZEND_END_ARG_INFO()
191-
192-
ZEND_BEGIN_ARG_INFO(arginfo_tempnam, 0)
193-
ZEND_ARG_INFO(0, dir)
194-
ZEND_ARG_INFO(0, prefix)
195-
ZEND_END_ARG_INFO()
196-
197-
ZEND_BEGIN_ARG_INFO(arginfo_tmpfile, 0)
198-
ZEND_END_ARG_INFO()
199-
200-
ZEND_BEGIN_ARG_INFO_EX(arginfo_fopen, 0, 0, 2)
201-
ZEND_ARG_INFO(0, filename)
202-
ZEND_ARG_INFO(0, mode)
203-
ZEND_ARG_INFO(0, use_include_path)
204-
ZEND_ARG_INFO(0, context)
205-
ZEND_END_ARG_INFO()
206-
207-
ZEND_BEGIN_ARG_INFO(arginfo_fclose, 0)
208-
ZEND_ARG_INFO(0, fp)
209-
ZEND_END_ARG_INFO()
210-
211-
ZEND_BEGIN_ARG_INFO(arginfo_popen, 0)
212-
ZEND_ARG_INFO(0, command)
213-
ZEND_ARG_INFO(0, mode)
214-
ZEND_END_ARG_INFO()
215-
216-
ZEND_BEGIN_ARG_INFO(arginfo_pclose, 0)
217-
ZEND_ARG_INFO(0, fp)
218-
ZEND_END_ARG_INFO()
219-
220-
ZEND_BEGIN_ARG_INFO(arginfo_feof, 0)
221-
ZEND_ARG_INFO(0, fp)
222-
ZEND_END_ARG_INFO()
223-
224-
ZEND_BEGIN_ARG_INFO_EX(arginfo_fgets, 0, 0, 1)
225-
ZEND_ARG_INFO(0, fp)
226-
ZEND_ARG_INFO(0, length)
227-
ZEND_END_ARG_INFO()
228-
229-
ZEND_BEGIN_ARG_INFO(arginfo_fgetc, 0)
230-
ZEND_ARG_INFO(0, fp)
231-
ZEND_END_ARG_INFO()
232-
233-
ZEND_BEGIN_ARG_INFO_EX(arginfo_fscanf, 0, 0, 2)
234-
ZEND_ARG_INFO(0, stream)
235-
ZEND_ARG_INFO(0, format)
236-
ZEND_ARG_VARIADIC_INFO(1, vars)
237-
ZEND_END_ARG_INFO()
238-
239-
ZEND_BEGIN_ARG_INFO_EX(arginfo_fwrite, 0, 0, 2)
240-
ZEND_ARG_INFO(0, fp)
241-
ZEND_ARG_INFO(0, str)
242-
ZEND_ARG_INFO(0, length)
243-
ZEND_END_ARG_INFO()
244-
245-
ZEND_BEGIN_ARG_INFO(arginfo_fflush, 0)
246-
ZEND_ARG_INFO(0, fp)
247-
ZEND_END_ARG_INFO()
248-
249-
ZEND_BEGIN_ARG_INFO(arginfo_rewind, 0)
250-
ZEND_ARG_INFO(0, fp)
251-
ZEND_END_ARG_INFO()
252-
253-
ZEND_BEGIN_ARG_INFO(arginfo_ftell, 0)
254-
ZEND_ARG_INFO(0, fp)
255-
ZEND_END_ARG_INFO()
256-
257-
ZEND_BEGIN_ARG_INFO_EX(arginfo_fseek, 0, 0, 2)
258-
ZEND_ARG_INFO(0, fp)
259-
ZEND_ARG_INFO(0, offset)
260-
ZEND_ARG_INFO(0, whence)
261-
ZEND_END_ARG_INFO()
262-
263-
ZEND_BEGIN_ARG_INFO_EX(arginfo_mkdir, 0, 0, 1)
264-
ZEND_ARG_INFO(0, pathname)
265-
ZEND_ARG_INFO(0, mode)
266-
ZEND_ARG_INFO(0, recursive)
267-
ZEND_ARG_INFO(0, context)
268-
ZEND_END_ARG_INFO()
269-
270-
ZEND_BEGIN_ARG_INFO_EX(arginfo_rmdir, 0, 0, 1)
271-
ZEND_ARG_INFO(0, dirname)
272-
ZEND_ARG_INFO(0, context)
273-
ZEND_END_ARG_INFO()
274-
275-
ZEND_BEGIN_ARG_INFO_EX(arginfo_readfile, 0, 0, 1)
276-
ZEND_ARG_INFO(0, filename)
277-
ZEND_ARG_INFO(0, flags)
278-
ZEND_ARG_INFO(0, context)
279-
ZEND_END_ARG_INFO()
280-
281-
ZEND_BEGIN_ARG_INFO_EX(arginfo_umask, 0, 0, 0)
282-
ZEND_ARG_INFO(0, mask)
283-
ZEND_END_ARG_INFO()
284-
285-
ZEND_BEGIN_ARG_INFO(arginfo_fpassthru, 0)
286-
ZEND_ARG_INFO(0, fp)
287-
ZEND_END_ARG_INFO()
288-
289-
ZEND_BEGIN_ARG_INFO_EX(arginfo_rename, 0, 0, 2)
290-
ZEND_ARG_INFO(0, old_name)
291-
ZEND_ARG_INFO(0, new_name)
292-
ZEND_ARG_INFO(0, context)
293-
ZEND_END_ARG_INFO()
294-
295-
ZEND_BEGIN_ARG_INFO_EX(arginfo_unlink, 0, 0, 1)
296-
ZEND_ARG_INFO(0, filename)
297-
ZEND_ARG_INFO(0, context)
298-
ZEND_END_ARG_INFO()
299-
300-
ZEND_BEGIN_ARG_INFO(arginfo_ftruncate, 0)
301-
ZEND_ARG_INFO(0, fp)
302-
ZEND_ARG_INFO(0, size)
303-
ZEND_END_ARG_INFO()
304-
305-
ZEND_BEGIN_ARG_INFO(arginfo_fstat, 0)
306-
ZEND_ARG_INFO(0, fp)
307-
ZEND_END_ARG_INFO()
308-
ZEND_BEGIN_ARG_INFO_EX(arginfo_copy, 0, 0, 2)
309-
ZEND_ARG_INFO(0, source_file)
310-
ZEND_ARG_INFO(0, destination_file)
311-
ZEND_ARG_INFO(0, context)
312-
ZEND_END_ARG_INFO()
313-
314-
ZEND_BEGIN_ARG_INFO(arginfo_fread, 0)
315-
ZEND_ARG_INFO(0, fp)
316-
ZEND_ARG_INFO(0, length)
317-
ZEND_END_ARG_INFO()
318-
319-
ZEND_BEGIN_ARG_INFO_EX(arginfo_fputcsv, 0, 0, 2)
320-
ZEND_ARG_INFO(0, fp)
321-
ZEND_ARG_INFO(0, fields) /* ARRAY_INFO(0, fields, 1) */
322-
ZEND_ARG_INFO(0, delimiter)
323-
ZEND_ARG_INFO(0, enclosure)
324-
ZEND_ARG_INFO(0, escape_char)
325-
ZEND_END_ARG_INFO()
326-
327-
ZEND_BEGIN_ARG_INFO_EX(arginfo_fgetcsv, 0, 0, 1)
328-
ZEND_ARG_INFO(0, fp)
329-
ZEND_ARG_INFO(0, length)
330-
ZEND_ARG_INFO(0, delimiter)
331-
ZEND_ARG_INFO(0, enclosure)
332-
ZEND_ARG_INFO(0, escape)
333-
ZEND_END_ARG_INFO()
334-
335-
#if HAVE_REALPATH || defined(ZTS)
336-
ZEND_BEGIN_ARG_INFO(arginfo_realpath, 0)
337-
ZEND_ARG_INFO(0, path)
338-
ZEND_END_ARG_INFO()
339-
#endif
340-
341-
#ifdef HAVE_FNMATCH
342-
ZEND_BEGIN_ARG_INFO_EX(arginfo_fnmatch, 0, 0, 2)
343-
ZEND_ARG_INFO(0, pattern)
344-
ZEND_ARG_INFO(0, filename)
345-
ZEND_ARG_INFO(0, flags)
346-
ZEND_END_ARG_INFO()
347-
#endif
348-
349-
ZEND_BEGIN_ARG_INFO(arginfo_sys_get_temp_dir, 0)
350-
ZEND_END_ARG_INFO()
351-
/* }}} */
352-
353-
/* {{{ formatted_print.c */
354-
ZEND_BEGIN_ARG_INFO_EX(arginfo_sprintf, 0, 0, 1)
355-
ZEND_ARG_INFO(0, format)
356-
ZEND_ARG_VARIADIC_INFO(0, args)
357-
ZEND_END_ARG_INFO()
358-
359-
ZEND_BEGIN_ARG_INFO(arginfo_vsprintf, 0)
360-
ZEND_ARG_INFO(0, format)
361-
ZEND_ARG_INFO(0, args) /* ARRAY_INFO(0, args, 1) */
362-
ZEND_END_ARG_INFO()
363-
364-
ZEND_BEGIN_ARG_INFO_EX(arginfo_printf, 0, 0, 1)
365-
ZEND_ARG_INFO(0, format)
366-
ZEND_ARG_VARIADIC_INFO(0, args)
367-
ZEND_END_ARG_INFO()
368-
369-
ZEND_BEGIN_ARG_INFO(arginfo_vprintf, 0)
370-
ZEND_ARG_INFO(0, format)
371-
ZEND_ARG_INFO(0, args) /* ARRAY_INFO(0, args, 1) */
372-
ZEND_END_ARG_INFO()
373-
374-
ZEND_BEGIN_ARG_INFO_EX(arginfo_fprintf, 0, 0, 2)
375-
ZEND_ARG_INFO(0, stream)
376-
ZEND_ARG_INFO(0, format)
377-
ZEND_ARG_VARIADIC_INFO(0, args)
378-
ZEND_END_ARG_INFO()
379-
380-
ZEND_BEGIN_ARG_INFO(arginfo_vfprintf, 0)
381-
ZEND_ARG_INFO(0, stream)
382-
ZEND_ARG_INFO(0, format)
383-
ZEND_ARG_INFO(0, args) /* ARRAY_INFO(0, args, 1) */
384-
ZEND_END_ARG_INFO()
385-
/* }}} */
386-
/* {{{ fsock.c */
387-
ZEND_BEGIN_ARG_INFO_EX(arginfo_fsockopen, 0, 0, 1)
388-
ZEND_ARG_INFO(0, hostname)
389-
ZEND_ARG_INFO(0, port)
390-
ZEND_ARG_INFO(1, errno)
391-
ZEND_ARG_INFO(1, errstr)
392-
ZEND_ARG_INFO(0, timeout)
393-
ZEND_END_ARG_INFO()
394-
395-
ZEND_BEGIN_ARG_INFO_EX(arginfo_pfsockopen, 0, 0, 1)
396-
ZEND_ARG_INFO(0, hostname)
397-
ZEND_ARG_INFO(0, port)
398-
ZEND_ARG_INFO(1, errno)
399-
ZEND_ARG_INFO(1, errstr)
400-
ZEND_ARG_INFO(0, timeout)
401-
ZEND_END_ARG_INFO()
402-
/* }}} */
403-
/* {{{ http.c */
404-
ZEND_BEGIN_ARG_INFO_EX(arginfo_http_build_query, 0, 0, 1)
405-
ZEND_ARG_INFO(0, formdata)
406-
ZEND_ARG_INFO(0, prefix)
407-
ZEND_ARG_INFO(0, arg_separator)
408-
ZEND_ARG_INFO(0, enc_type)
409-
ZEND_END_ARG_INFO()
410-
/* }}} */
411-
/* {{{ image.c */
412-
ZEND_BEGIN_ARG_INFO(arginfo_image_type_to_mime_type, 0)
413-
ZEND_ARG_INFO(0, imagetype)
414-
ZEND_END_ARG_INFO()
415-
416-
ZEND_BEGIN_ARG_INFO_EX(arginfo_image_type_to_extension, 0, 0, 1)
417-
ZEND_ARG_INFO(0, imagetype)
418-
ZEND_ARG_INFO(0, include_dot)
419-
ZEND_END_ARG_INFO()
420-
421-
ZEND_BEGIN_ARG_INFO_EX(arginfo_getimagesize, 0, 0, 1)
422-
ZEND_ARG_INFO(0, imagefile)
423-
ZEND_ARG_INFO(1, info) /* ARRAY_INFO(1, info, 1) */
424-
ZEND_END_ARG_INFO()
425-
/* }}} */
426-
/* {{{ soundex.c */
427-
ZEND_BEGIN_ARG_INFO(arginfo_soundex, 0)
428-
ZEND_ARG_INFO(0, str)
429-
ZEND_END_ARG_INFO()
430-
/* }}} */
431124
/* {{{ streamsfuncs.c */
432125
#if HAVE_SOCKETPAIR
433126
ZEND_BEGIN_ARG_INFO(arginfo_stream_socket_pair, 0)
@@ -713,14 +406,6 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO(arginfo_is_countable, _IS_BOOL, 0)
713406
ZEND_ARG_INFO(0, var)
714407
ZEND_END_ARG_INFO()
715408
/* }}} */
716-
/* {{{ uniqid.c */
717-
#ifdef HAVE_GETTIMEOFDAY
718-
ZEND_BEGIN_ARG_INFO_EX(arginfo_uniqid, 0, 0, 0)
719-
ZEND_ARG_INFO(0, prefix)
720-
ZEND_ARG_INFO(0, more_entropy)
721-
ZEND_END_ARG_INFO()
722-
#endif
723-
/* }}} */
724409
/* {{{ url.c */
725410
ZEND_BEGIN_ARG_INFO_EX(arginfo_parse_url, 0, 0, 1)
726411
ZEND_ARG_INFO(0, url)
@@ -777,15 +462,6 @@ ZEND_BEGIN_ARG_INFO(arginfo_stream_filter_register, 0)
777462
ZEND_ARG_INFO(0, classname)
778463
ZEND_END_ARG_INFO()
779464
/* }}} */
780-
/* {{{ uuencode.c */
781-
ZEND_BEGIN_ARG_INFO(arginfo_convert_uuencode, 0)
782-
ZEND_ARG_INFO(0, data)
783-
ZEND_END_ARG_INFO()
784-
785-
ZEND_BEGIN_ARG_INFO(arginfo_convert_uudecode, 0)
786-
ZEND_ARG_INFO(0, data)
787-
ZEND_END_ARG_INFO()
788-
/* }}} */
789465
/* {{{ var.c */
790466
ZEND_BEGIN_ARG_INFO_EX(arginfo_var_dump, 0, 0, 1)
791467
ZEND_ARG_VARIADIC_INFO(0, vars)
@@ -817,13 +493,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_memory_get_peak_usage, 0, 0, 0)
817493
ZEND_ARG_INFO(0, real_usage)
818494
ZEND_END_ARG_INFO()
819495
/* }}} */
820-
/* {{{ versioning.c */
821-
ZEND_BEGIN_ARG_INFO_EX(arginfo_version_compare, 0, 0, 2)
822-
ZEND_ARG_INFO(0, ver1)
823-
ZEND_ARG_INFO(0, ver2)
824-
ZEND_ARG_INFO(0, oper)
825-
ZEND_END_ARG_INFO()
826-
/* }}} */
496+
827497
/* {{{ win32/codepage.c */
828498
#ifdef PHP_WIN32
829499
ZEND_BEGIN_ARG_INFO_EX(arginfo_sapi_windows_cp_set, 0, 0, 1)
@@ -888,7 +558,7 @@ static const zend_function_entry basic_functions[] = { /* {{{ */
888558
PHP_FE(iptcparse, arginfo_iptcparse)
889559
PHP_FE(iptcembed, arginfo_iptcembed)
890560
PHP_FE(getimagesize, arginfo_getimagesize)
891-
PHP_FE(getimagesizefromstring, arginfo_getimagesize)
561+
PHP_FE(getimagesizefromstring, arginfo_getimagesizefromstring)
892562
PHP_FE(image_type_to_mime_type, arginfo_image_type_to_mime_type)
893563
PHP_FE(image_type_to_extension, arginfo_image_type_to_extension)
894564

0 commit comments

Comments
 (0)