]> granicus.if.org Git - php/commitdiff
Add Curl ext PHP stubs
authorSimon Podlipsky <simon@podlipsky.net>
Sun, 18 Aug 2019 12:48:23 +0000 (14:48 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Tue, 20 Aug 2019 13:16:57 +0000 (15:16 +0200)
Closes GH-4557.

ext/curl/curl.stub.php [new file with mode: 0644]
ext/curl/curl_arginfo.h [new file with mode: 0644]
ext/curl/curl_file.c
ext/curl/curl_file.stub.php [new file with mode: 0644]
ext/curl/curl_file_arginfo.h [new file with mode: 0644]
ext/curl/interface.c

diff --git a/ext/curl/curl.stub.php b/ext/curl/curl.stub.php
new file mode 100644 (file)
index 0000000..f5bd6da
--- /dev/null
@@ -0,0 +1,147 @@
+<?php
+
+/** @param resource $handle */
+function curl_close($handle): void {}
+
+/**
+ * @param resource $handle
+ *
+ * @return resource|false
+ */
+function curl_copy_handle($handle) {}
+
+/** @param resource $handle */
+function curl_errno($handle): int {}
+
+/** @param resource $handle */
+function curl_error($handle): string {}
+
+/**
+ * @param resource $handle
+ *
+ * @return string|false
+ */
+function curl_escape($handle, string $string) {}
+
+/**
+ * @param resource $handle
+ *
+ * @return string|bool
+ */
+function curl_exec($handle) {}
+
+function curl_file_create(
+    string $filename,
+    string $mimetype = UNKNOWN,
+    string $postname = UNKNOWN
+): CURLFile {}
+
+/**
+ * @param resource $handle
+ *
+ * @return mixed
+ */
+function curl_getinfo($handle, int $option = UNKNOWN) {}
+
+/**
+ * @param resource $handle
+ *
+ * @return resource|false
+ */
+function curl_init(string $url = UNKNOWN) {}
+
+/**
+ * @param resource $multi_handle
+ * @param resource $handle
+ */
+function curl_multi_add_handle($multi_handle, $handle): int {}
+
+/** @param resource $multi_handle */
+function curl_multi_close($multi_handle): void {}
+
+/**
+ * @param resource $multi_handle
+ *
+ * @return int|false
+ */
+function curl_multi_errno($multi_handle): int {}
+
+/** @param resource $multi_handle */
+function curl_multi_exec($multi_handle, &$still_running): int {}
+
+/** @param resource $multi_handle */
+function curl_multi_getcontent($multi_handle): ?string {}
+
+/**
+ * @param resource $multi_handle
+ *
+ * @return array|false
+ */
+function curl_multi_info_read($multi_handle, &$msgs_in_queue = null) {}
+
+/** @return resource */
+function curl_multi_init() {}
+
+/**
+ * @param resource $multi_handle
+ * @param resource $handle
+ */
+function curl_multi_remove_handle($multi_handle, $handle): int {}
+
+/** @param resource $multi_handle */
+function curl_multi_select($multi_handle, float $timeout = 1.0): int {}
+
+/**
+ * @param resource $multi_handle
+ * @param mixed $value
+ */
+function curl_multi_setopt($multi_handle, int $option, $value): bool {}
+
+function curl_multi_strerror(int $error_number): ?string {}
+
+#if LIBCURL_VERSION_NUM >= 0x071200 /* 7.18.0 */
+/** @param resource $handle */
+function curl_pause($handle, int $bitmask): int {}
+#endif
+
+/** @param resource $handle */
+function curl_reset($handle): void {}
+
+/**
+ * @param resource $handle
+ * @param array<int, mixed> $options
+ */
+function curl_setopt_array($handle, array $options): bool {}
+
+
+/**
+ * @param resource $handle
+ * @param mixed $value
+ */
+function curl_setopt($handle, int $option, $value): bool {}
+
+/** @param resource $share_handle */
+function curl_share_close($share_handle): void {}
+
+/** @param resource $share_handle */
+function curl_share_errno($share_handle): int {}
+
+/** @return resource */
+function curl_share_init() {}
+
+/** @param resource $share_handle */
+function curl_share_setopt($share_handle, int $option, $value): bool {}
+
+function curl_share_strerror(int $error_number): ?string {}
+
+function curl_strerror(int $error_number): ?string {}
+
+/**
+ * @param resource $handle
+ *
+ * @return string|false
+ */
+function curl_unescape($handle, string $string) {}
+
+/** @return array|false */
+function curl_version(int $age = UNKNOWN) {}
diff --git a/ext/curl/curl_arginfo.h b/ext/curl/curl_arginfo.h
new file mode 100644 (file)
index 0000000..561c0a7
--- /dev/null
@@ -0,0 +1,132 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_close, 0, 1, IS_VOID, 0)
+       ZEND_ARG_INFO(0, handle)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_curl_copy_handle, 0, 0, 1)
+       ZEND_ARG_INFO(0, handle)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_errno, 0, 1, IS_LONG, 0)
+       ZEND_ARG_INFO(0, handle)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_error, 0, 1, IS_STRING, 0)
+       ZEND_ARG_INFO(0, handle)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_curl_escape, 0, 0, 2)
+       ZEND_ARG_INFO(0, handle)
+       ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_curl_exec arginfo_curl_copy_handle
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_curl_file_create, 0, 1, CURLFile, 0)
+       ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, mimetype, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, postname, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_curl_getinfo, 0, 0, 1)
+       ZEND_ARG_INFO(0, handle)
+       ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_curl_init, 0, 0, 0)
+       ZEND_ARG_TYPE_INFO(0, url, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_multi_add_handle, 0, 2, IS_LONG, 0)
+       ZEND_ARG_INFO(0, multi_handle)
+       ZEND_ARG_INFO(0, handle)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_multi_close, 0, 1, IS_VOID, 0)
+       ZEND_ARG_INFO(0, multi_handle)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_multi_errno, 0, 1, IS_LONG, 0)
+       ZEND_ARG_INFO(0, multi_handle)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_multi_exec, 0, 2, IS_LONG, 0)
+       ZEND_ARG_INFO(0, multi_handle)
+       ZEND_ARG_INFO(1, still_running)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_multi_getcontent, 0, 1, IS_STRING, 1)
+       ZEND_ARG_INFO(0, multi_handle)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_curl_multi_info_read, 0, 0, 1)
+       ZEND_ARG_INFO(0, multi_handle)
+       ZEND_ARG_INFO(1, msgs_in_queue)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_curl_multi_init, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_curl_multi_remove_handle arginfo_curl_multi_add_handle
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_multi_select, 0, 1, IS_LONG, 0)
+       ZEND_ARG_INFO(0, multi_handle)
+       ZEND_ARG_TYPE_INFO(0, timeout, IS_DOUBLE, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_multi_setopt, 0, 3, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, multi_handle)
+       ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
+       ZEND_ARG_INFO(0, value)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_multi_strerror, 0, 1, IS_STRING, 1)
+       ZEND_ARG_TYPE_INFO(0, error_number, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#if LIBCURL_VERSION_NUM >= 0x071200 /* 7.18.0 */
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_pause, 0, 2, IS_LONG, 0)
+       ZEND_ARG_INFO(0, handle)
+       ZEND_ARG_TYPE_INFO(0, bitmask, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#define arginfo_curl_reset arginfo_curl_close
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_setopt_array, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, handle)
+       ZEND_ARG_TYPE_INFO(0, options, IS_ARRAY, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_setopt, 0, 3, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, handle)
+       ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
+       ZEND_ARG_INFO(0, value)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_share_close, 0, 1, IS_VOID, 0)
+       ZEND_ARG_INFO(0, share_handle)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_share_errno, 0, 1, IS_LONG, 0)
+       ZEND_ARG_INFO(0, share_handle)
+ZEND_END_ARG_INFO()
+
+#define arginfo_curl_share_init arginfo_curl_multi_init
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_share_setopt, 0, 3, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, share_handle)
+       ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
+       ZEND_ARG_INFO(0, value)
+ZEND_END_ARG_INFO()
+
+#define arginfo_curl_share_strerror arginfo_curl_multi_strerror
+
+#define arginfo_curl_strerror arginfo_curl_multi_strerror
+
+#define arginfo_curl_unescape arginfo_curl_escape
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_curl_version, 0, 0, 0)
+       ZEND_ARG_TYPE_INFO(0, age, IS_LONG, 0)
+ZEND_END_ARG_INFO()
index a35e29147c559cf9a71f0ce107e8de49df9de4e7..c750a36689d0941119e8a952ce113d394fd14432 100644 (file)
@@ -24,6 +24,8 @@
 #include "Zend/zend_exceptions.h"
 #include "Zend/zend_interfaces.h"
 #include "php_curl.h"
+#include "curl_arginfo.h"
+#include "curl_file_arginfo.h"
 #if HAVE_CURL
 
 PHP_CURL_API zend_class_entry *curl_CURLFile_class;
@@ -131,24 +133,13 @@ ZEND_METHOD(CURLFile, setPostFilename)
 }
 /* }}} */
 
-ZEND_BEGIN_ARG_INFO_EX(arginfo_curlfile_create, 0, 0, 1)
-       ZEND_ARG_INFO(0, filename)
-       ZEND_ARG_INFO(0, mimetype)
-       ZEND_ARG_INFO(0, postname)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curlfile_name, 0)
-       ZEND_ARG_INFO(0, name)
-ZEND_END_ARG_INFO()
-
-
 static const zend_function_entry curlfile_funcs[] = {
-       PHP_ME(CURLFile,                        __construct,        arginfo_curlfile_create, ZEND_ACC_PUBLIC)
-       PHP_ME(CURLFile,                        getFilename,        NULL, ZEND_ACC_PUBLIC)
-       PHP_ME(CURLFile,                        getMimeType,        NULL, ZEND_ACC_PUBLIC)
-       PHP_ME(CURLFile,                        setMimeType,        arginfo_curlfile_name, ZEND_ACC_PUBLIC)
-       PHP_ME(CURLFile,                        getPostFilename,    NULL, ZEND_ACC_PUBLIC)
-       PHP_ME(CURLFile,                        setPostFilename,    arginfo_curlfile_name, ZEND_ACC_PUBLIC)
+       PHP_ME(CURLFile,                        __construct,        arginfo_class_CURLFile___construct, ZEND_ACC_PUBLIC)
+       PHP_ME(CURLFile,                        getFilename,        arginfo_class_CURLFile_getFilename, ZEND_ACC_PUBLIC)
+       PHP_ME(CURLFile,                        getMimeType,        arginfo_class_CURLFile_getMimeType, ZEND_ACC_PUBLIC)
+       PHP_ME(CURLFile,                        setMimeType,        arginfo_class_CURLFile_setMimeType, ZEND_ACC_PUBLIC)
+       PHP_ME(CURLFile,                        getPostFilename,    arginfo_class_CURLFile_getPostFilename, ZEND_ACC_PUBLIC)
+       PHP_ME(CURLFile,                        setPostFilename,    arginfo_class_CURLFile_setPostFilename, ZEND_ACC_PUBLIC)
        PHP_FE_END
 };
 
diff --git a/ext/curl/curl_file.stub.php b/ext/curl/curl_file.stub.php
new file mode 100644 (file)
index 0000000..e6e21f9
--- /dev/null
@@ -0,0 +1,24 @@
+<?php
+
+class CURLFile {
+    public function __construct(
+        string $filename,
+        string $mimetype = UNKNOWN,
+        string $postname = UNKNOWN
+    ) {}
+
+    /** @return string */
+    public function getFilename() {}
+
+    /** @return string */
+    public function getMimeType() {}
+
+    /** @return string */
+    public function getPostFilename() {}
+
+    /** @return void */
+    public function setMimeType(string $mime) {}
+
+    /** @return void */
+    public function setPostFilename(string $postname) {}
+}
diff --git a/ext/curl/curl_file_arginfo.h b/ext/curl/curl_file_arginfo.h
new file mode 100644 (file)
index 0000000..df50ab2
--- /dev/null
@@ -0,0 +1,22 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_CURLFile___construct, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, mimetype, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, postname, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_CURLFile_getFilename, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_CURLFile_getMimeType arginfo_class_CURLFile_getFilename
+
+#define arginfo_class_CURLFile_getPostFilename arginfo_class_CURLFile_getFilename
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_CURLFile_setMimeType, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, mime, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_CURLFile_setPostFilename, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, postname, IS_STRING, 0)
+ZEND_END_ARG_INFO()
index 9657feab224c400f28b52fa538ddf958a165d7d1..76b1b84b491f9bc1cc07d0d54a99fedd19a3d291 100644 (file)
@@ -68,6 +68,7 @@
 #include "ext/standard/file.h"
 #include "ext/standard/url.h"
 #include "php_curl.h"
+#include "curl_arginfo.h"
 
 int  le_curl;
 int  le_curl_multi_handle;
@@ -241,154 +242,6 @@ void _php_curl_verify_handlers(php_curl *ch, int reporterror) /* {{{ */
 }
 /* }}} */
 
-/* {{{ arginfo */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_curl_version, 0, 0, 0)
-       ZEND_ARG_INFO(0, version)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_curl_init, 0, 0, 0)
-       ZEND_ARG_INFO(0, url)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_copy_handle, 0)
-       ZEND_ARG_INFO(0, ch)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_setopt, 0)
-       ZEND_ARG_INFO(0, ch)
-       ZEND_ARG_INFO(0, option)
-       ZEND_ARG_INFO(0, value)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_setopt_array, 0)
-       ZEND_ARG_INFO(0, ch)
-       ZEND_ARG_ARRAY_INFO(0, options, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_exec, 0)
-       ZEND_ARG_INFO(0, ch)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_curl_getinfo, 0, 0, 1)
-       ZEND_ARG_INFO(0, ch)
-       ZEND_ARG_INFO(0, option)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_error, 0)
-       ZEND_ARG_INFO(0, ch)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_errno, 0)
-       ZEND_ARG_INFO(0, ch)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_close, 0)
-       ZEND_ARG_INFO(0, ch)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_reset, 0)
-       ZEND_ARG_INFO(0, ch)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_escape, 0)
-       ZEND_ARG_INFO(0, ch)
-       ZEND_ARG_INFO(0, str)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_unescape, 0)
-       ZEND_ARG_INFO(0, ch)
-       ZEND_ARG_INFO(0, str)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_multi_setopt, 0)
-       ZEND_ARG_INFO(0, sh)
-       ZEND_ARG_INFO(0, option)
-       ZEND_ARG_INFO(0, value)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_multi_init, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_multi_add_handle, 0)
-       ZEND_ARG_INFO(0, mh)
-       ZEND_ARG_INFO(0, ch)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_multi_remove_handle, 0)
-       ZEND_ARG_INFO(0, mh)
-       ZEND_ARG_INFO(0, ch)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_curl_multi_select, 0, 0, 1)
-       ZEND_ARG_INFO(0, mh)
-       ZEND_ARG_INFO(0, timeout)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_curl_multi_exec, 0, 0, 1)
-       ZEND_ARG_INFO(0, mh)
-       ZEND_ARG_INFO(1, still_running)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_multi_getcontent, 0)
-       ZEND_ARG_INFO(0, ch)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_curl_multi_info_read, 0, 0, 1)
-       ZEND_ARG_INFO(0, mh)
-       ZEND_ARG_INFO(1, msgs_in_queue)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_multi_close, 0)
-       ZEND_ARG_INFO(0, mh)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_multi_errno, 0)
-       ZEND_ARG_INFO(0, mh)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_strerror, 0)
-       ZEND_ARG_INFO(0, errornum)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_multi_strerror, 0)
-       ZEND_ARG_INFO(0, errornum)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_share_strerror, 0)
-       ZEND_ARG_INFO(0, errornum)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_share_init, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_share_close, 0)
-       ZEND_ARG_INFO(0, sh)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_share_setopt, 0)
-       ZEND_ARG_INFO(0, sh)
-       ZEND_ARG_INFO(0, option)
-       ZEND_ARG_INFO(0, value)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_curl_share_errno, 0)
-       ZEND_ARG_INFO(0, sh)
-ZEND_END_ARG_INFO()
-
-#if LIBCURL_VERSION_NUM >= 0x071200 /* Available since 7.18.0 */
-ZEND_BEGIN_ARG_INFO(arginfo_curl_pause, 0)
-       ZEND_ARG_INFO(0, ch)
-       ZEND_ARG_INFO(0, bitmask)
-ZEND_END_ARG_INFO()
-#endif
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_curlfile_create, 0, 0, 1)
-       ZEND_ARG_INFO(0, filename)
-       ZEND_ARG_INFO(0, mimetype)
-       ZEND_ARG_INFO(0, postname)
-ZEND_END_ARG_INFO()
-/* }}} */
-
 /* {{{ curl_functions[]
  */
 static const zend_function_entry curl_functions[] = {
@@ -411,6 +264,7 @@ static const zend_function_entry curl_functions[] = {
 #if LIBCURL_VERSION_NUM >= 0x071200 /* 7.18.0 */
        PHP_FE(curl_pause,               arginfo_curl_pause)
 #endif
+       PHP_FE(curl_file_create,         arginfo_curl_file_create)
        PHP_FE(curl_multi_init,          arginfo_curl_multi_init)
        PHP_FE(curl_multi_add_handle,    arginfo_curl_multi_add_handle)
        PHP_FE(curl_multi_remove_handle, arginfo_curl_multi_remove_handle)
@@ -425,7 +279,6 @@ static const zend_function_entry curl_functions[] = {
        PHP_FE(curl_share_close,         arginfo_curl_share_close)
        PHP_FE(curl_share_setopt,        arginfo_curl_share_setopt)
        PHP_FE(curl_share_errno,         arginfo_curl_share_errno)
-       PHP_FE(curl_file_create,         arginfo_curlfile_create)
        PHP_FE_END
 };
 /* }}} */