Skip to content

Commit 7435914

Browse files
duncan3dccmb69
authored andcommitted
Convert exif functions arginfo to php stubs
We also allow sections needed to be null.
1 parent 5b09e60 commit 7435914

File tree

3 files changed

+38
-26
lines changed

3 files changed

+38
-26
lines changed

ext/exif/exif.c

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
#endif
4343

4444
#include "php_exif.h"
45+
#include "exif_arginfo.h"
4546
#include <math.h>
4647
#include "php_ini.h"
4748
#include "ext/standard/php_string.h"
@@ -66,31 +67,6 @@ typedef unsigned char uchar;
6667

6768
#define MAX_IFD_NESTING_LEVEL 150
6869

69-
/* {{{ arginfo */
70-
ZEND_BEGIN_ARG_INFO(arginfo_exif_tagname, 0)
71-
ZEND_ARG_INFO(0, index)
72-
ZEND_END_ARG_INFO()
73-
74-
ZEND_BEGIN_ARG_INFO_EX(arginfo_exif_read_data, 0, 0, 1)
75-
ZEND_ARG_INFO(0, filename)
76-
ZEND_ARG_INFO(0, sections_needed)
77-
ZEND_ARG_INFO(0, sub_arrays)
78-
ZEND_ARG_INFO(0, read_thumbnail)
79-
ZEND_END_ARG_INFO()
80-
81-
ZEND_BEGIN_ARG_INFO_EX(arginfo_exif_thumbnail, 0, 0, 1)
82-
ZEND_ARG_INFO(0, filename)
83-
ZEND_ARG_INFO(1, width)
84-
ZEND_ARG_INFO(1, height)
85-
ZEND_ARG_INFO(1, imagetype)
86-
ZEND_END_ARG_INFO()
87-
88-
ZEND_BEGIN_ARG_INFO(arginfo_exif_imagetype, 0)
89-
ZEND_ARG_INFO(0, imagefile)
90-
ZEND_END_ARG_INFO()
91-
92-
/* }}} */
93-
9470
/* {{{ exif_functions[]
9571
*/
9672
static const zend_function_entry exif_functions[] = {
@@ -4391,7 +4367,7 @@ PHP_FUNCTION(exif_read_data)
43914367
ZEND_PARSE_PARAMETERS_START(1, 4)
43924368
Z_PARAM_ZVAL(stream)
43934369
Z_PARAM_OPTIONAL
4394-
Z_PARAM_STR(z_sections_needed)
4370+
Z_PARAM_STR_EX(z_sections_needed, 1, 0)
43954371
Z_PARAM_BOOL(sub_arrays)
43964372
Z_PARAM_BOOL(read_thumbnail)
43974373
ZEND_PARSE_PARAMETERS_END();

ext/exif/exif.stub.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
/** @return string|false */
4+
function exif_tagname(int $index) {}
5+
6+
/** @return array|false */
7+
function exif_read_data($filename, ?string $sections_needed = null, bool $sub_arrays = false, bool $read_thumbnail = false) {}
8+
9+
/** @return string|false */
10+
function exif_thumbnail($filename, &$width = null, &$height = null, &$imagetype = null) {}
11+
12+
/** @return int|false */
13+
function exif_imagetype(string $filename) {}

ext/exif/exif_arginfo.h

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/* This is a generated file, edit the .stub.php file instead. */
2+
3+
ZEND_BEGIN_ARG_INFO_EX(arginfo_exif_tagname, 0, 0, 1)
4+
ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
5+
ZEND_END_ARG_INFO()
6+
7+
ZEND_BEGIN_ARG_INFO_EX(arginfo_exif_read_data, 0, 0, 1)
8+
ZEND_ARG_INFO(0, filename)
9+
ZEND_ARG_TYPE_INFO(0, sections_needed, IS_STRING, 1)
10+
ZEND_ARG_TYPE_INFO(0, sub_arrays, _IS_BOOL, 0)
11+
ZEND_ARG_TYPE_INFO(0, read_thumbnail, _IS_BOOL, 0)
12+
ZEND_END_ARG_INFO()
13+
14+
ZEND_BEGIN_ARG_INFO_EX(arginfo_exif_thumbnail, 0, 0, 1)
15+
ZEND_ARG_INFO(0, filename)
16+
ZEND_ARG_INFO(1, width)
17+
ZEND_ARG_INFO(1, height)
18+
ZEND_ARG_INFO(1, imagetype)
19+
ZEND_END_ARG_INFO()
20+
21+
ZEND_BEGIN_ARG_INFO_EX(arginfo_exif_imagetype, 0, 0, 1)
22+
ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
23+
ZEND_END_ARG_INFO()

0 commit comments

Comments
 (0)