Skip to content

Commit d4a6487

Browse files
committed
Faster wrong_param check for functions that take no parameters
1 parent fc487f4 commit d4a6487

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

ext/skeleton/create_stubs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -178,13 +178,12 @@ END {
178178
" <funcprototype>\n" \
179179
" <funcdef>" types[i] " <function>" funcs[i] "</function></funcdef>\n"
180180

181-
fetchargs = "\tif (zend_parse_parameters("
182-
if (spec_opts[i]) {
181+
if (maxargs[i]>0) {
182+
fetchargs = "\tif (zend_parse_parameters("
183183
ints = ints "\tint argc = ZEND_NUM_ARGS();\n"
184-
fetchargs = fetchargs "argc"
184+
fetchargs = fetchargs "argc, " specs[i]
185185
} else
186-
fetchargs = fetchargs "ZEND_NUM_ARGS()"
187-
fetchargs = fetchargs ", " specs[i]
186+
fetchargs = fetchargs "\tif (ZEND_NUM_ARGS() != 0) {\n\t\tWRONG_PARAM_COUNT;\n\t}"
188187

189188
for (j = 0; j < maxargs[i]; j++) {
190189

@@ -219,7 +218,9 @@ END {
219218
}
220219

221220
proto = proto closeopts ")\n " fcomments[i] " */\nPHP_FUNCTION(" funcs[i] ")\n{"
222-
fetchargs = fetchargs ") == FAILURE)" closefetch " \n\t\treturn;\n"
221+
if (maxargs[i]>0) {
222+
fetchargs = fetchargs ") == FAILURE)" closefetch " \n\t\treturn;\n"
223+
}
223224
funcvals = strings ints longs doubles bools zvals
224225
xmlstr = xmlstr xmlparams \
225226
" </funcprototype>\n" \

0 commit comments

Comments
 (0)