Skip to content

Commit d457519

Browse files
authored
Declare ext/fileinfo constants in stubs (#8701)
1 parent 413cbdf commit d457519

File tree

3 files changed

+81
-17
lines changed

3 files changed

+81
-17
lines changed

ext/fileinfo/fileinfo.c

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -115,22 +115,7 @@ PHP_MINIT_FUNCTION(finfo)
115115
finfo_object_handlers.free_obj = finfo_objects_free;
116116
finfo_object_handlers.clone_obj = NULL;
117117

118-
REGISTER_LONG_CONSTANT("FILEINFO_NONE", MAGIC_NONE, CONST_CS|CONST_PERSISTENT);
119-
REGISTER_LONG_CONSTANT("FILEINFO_SYMLINK", MAGIC_SYMLINK, CONST_CS|CONST_PERSISTENT);
120-
REGISTER_LONG_CONSTANT("FILEINFO_MIME", MAGIC_MIME, CONST_CS|CONST_PERSISTENT);
121-
REGISTER_LONG_CONSTANT("FILEINFO_MIME_TYPE", MAGIC_MIME_TYPE, CONST_CS|CONST_PERSISTENT);
122-
REGISTER_LONG_CONSTANT("FILEINFO_MIME_ENCODING",MAGIC_MIME_ENCODING, CONST_CS|CONST_PERSISTENT);
123-
/* REGISTER_LONG_CONSTANT("FILEINFO_COMPRESS", MAGIC_COMPRESS, CONST_CS|CONST_PERSISTENT); disabled, as it does fork now */
124-
REGISTER_LONG_CONSTANT("FILEINFO_DEVICES", MAGIC_DEVICES, CONST_CS|CONST_PERSISTENT);
125-
REGISTER_LONG_CONSTANT("FILEINFO_CONTINUE", MAGIC_CONTINUE, CONST_CS|CONST_PERSISTENT);
126-
#ifdef MAGIC_PRESERVE_ATIME
127-
REGISTER_LONG_CONSTANT("FILEINFO_PRESERVE_ATIME", MAGIC_PRESERVE_ATIME, CONST_CS|CONST_PERSISTENT);
128-
#endif
129-
#ifdef MAGIC_RAW
130-
REGISTER_LONG_CONSTANT("FILEINFO_RAW", MAGIC_RAW, CONST_CS|CONST_PERSISTENT);
131-
#endif
132-
REGISTER_LONG_CONSTANT("FILEINFO_APPLE", MAGIC_APPLE, CONST_CS|CONST_PERSISTENT);
133-
REGISTER_LONG_CONSTANT("FILEINFO_EXTENSION", MAGIC_EXTENSION, CONST_CS|CONST_PERSISTENT);
118+
register_fileinfo_consts(module_number);
134119

135120
return SUCCESS;
136121
}

ext/fileinfo/fileinfo.stub.php

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,66 @@
22

33
/** @generate-class-entries */
44

5+
/**
6+
* @var int
7+
* @cname MAGIC_NONE
8+
*/
9+
const FILEINFO_NONE = UNKNOWN;
10+
/**
11+
* @var int
12+
* @cname MAGIC_SYMLINK
13+
*/
14+
const FILEINFO_SYMLINK = UNKNOWN;
15+
/**
16+
* @var int
17+
* @cname MAGIC_MIME
18+
*/
19+
const FILEINFO_MIME = UNKNOWN;
20+
/**
21+
* @var int
22+
* @cname MAGIC_MIME_TYPE
23+
*/
24+
const FILEINFO_MIME_TYPE = UNKNOWN;
25+
/**
26+
* @var int
27+
* @cname MAGIC_MIME_ENCODING
28+
*/
29+
const FILEINFO_MIME_ENCODING = UNKNOWN;
30+
/**
31+
* @var int
32+
* @cname MAGIC_DEVICES
33+
*/
34+
const FILEINFO_DEVICES = UNKNOWN;
35+
/**
36+
* @var int
37+
* @cname MAGIC_CONTINUE
38+
*/
39+
const FILEINFO_CONTINUE = UNKNOWN;
40+
#ifdef MAGIC_PRESERVE_ATIME
41+
/**
42+
* @var int
43+
* @cname MAGIC_PRESERVE_ATIME
44+
*/
45+
const FILEINFO_PRESERVE_ATIME = UNKNOWN;
46+
#endif
47+
#ifdef MAGIC_RAW
48+
/**
49+
* @var int
50+
* @cname MAGIC_RAW
51+
*/
52+
const FILEINFO_RAW = UNKNOWN;
53+
#endif
54+
/**
55+
* @var int
56+
* @cname MAGIC_APPLE
57+
*/
58+
const FILEINFO_APPLE = UNKNOWN;
59+
/**
60+
* @var int
61+
* @cname MAGIC_EXTENSION
62+
*/
63+
const FILEINFO_EXTENSION = UNKNOWN;
64+
565
/** @not-serializable */
666
class finfo
767
{

ext/fileinfo/fileinfo_arginfo.h

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash: 162664644202bf582b09be897e46c9bdc4d66a5b */
2+
* Stub hash: 271c579a0e45c1d3a9bb67a130808ee65ff8cd99 */
33

44
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_finfo_open, 0, 0, finfo, MAY_BE_FALSE)
55
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "FILEINFO_NONE")
@@ -82,6 +82,25 @@ static const zend_function_entry class_finfo_methods[] = {
8282
ZEND_FE_END
8383
};
8484

85+
static void register_fileinfo_consts(int module_number)
86+
{
87+
REGISTER_LONG_CONSTANT("FILEINFO_NONE", MAGIC_NONE, CONST_CS | CONST_PERSISTENT);
88+
REGISTER_LONG_CONSTANT("FILEINFO_SYMLINK", MAGIC_SYMLINK, CONST_CS | CONST_PERSISTENT);
89+
REGISTER_LONG_CONSTANT("FILEINFO_MIME", MAGIC_MIME, CONST_CS | CONST_PERSISTENT);
90+
REGISTER_LONG_CONSTANT("FILEINFO_MIME_TYPE", MAGIC_MIME_TYPE, CONST_CS | CONST_PERSISTENT);
91+
REGISTER_LONG_CONSTANT("FILEINFO_MIME_ENCODING", MAGIC_MIME_ENCODING, CONST_CS | CONST_PERSISTENT);
92+
REGISTER_LONG_CONSTANT("FILEINFO_DEVICES", MAGIC_DEVICES, CONST_CS | CONST_PERSISTENT);
93+
REGISTER_LONG_CONSTANT("FILEINFO_CONTINUE", MAGIC_CONTINUE, CONST_CS | CONST_PERSISTENT);
94+
#if defined(MAGIC_PRESERVE_ATIME)
95+
REGISTER_LONG_CONSTANT("FILEINFO_PRESERVE_ATIME", MAGIC_PRESERVE_ATIME, CONST_CS | CONST_PERSISTENT);
96+
#endif
97+
#if defined(MAGIC_RAW)
98+
REGISTER_LONG_CONSTANT("FILEINFO_RAW", MAGIC_RAW, CONST_CS | CONST_PERSISTENT);
99+
#endif
100+
REGISTER_LONG_CONSTANT("FILEINFO_APPLE", MAGIC_APPLE, CONST_CS | CONST_PERSISTENT);
101+
REGISTER_LONG_CONSTANT("FILEINFO_EXTENSION", MAGIC_EXTENSION, CONST_CS | CONST_PERSISTENT);
102+
}
103+
85104
static zend_class_entry *register_class_finfo(void)
86105
{
87106
zend_class_entry ce, *class_entry;

0 commit comments

Comments
 (0)