summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRasmus Lerdorf <rasmus@php.net>2001-08-13 08:15:12 +0000
committerRasmus Lerdorf <rasmus@php.net>2001-08-13 08:15:12 +0000
commitd4a6487e8c3f112b1b7c1fb7ea556a6b560bac39 (patch)
tree66f1e126a8173780e2bedf56ba04d80033bd30c6
parentfc487f460355f87ae1f9c567838d96ea7a12f641 (diff)
downloadphp-git-d4a6487e8c3f112b1b7c1fb7ea556a6b560bac39.tar.gz
Faster wrong_param check for functions that take no parameters
-rwxr-xr-xext/skeleton/create_stubs13
1 files changed, 7 insertions, 6 deletions
diff --git a/ext/skeleton/create_stubs b/ext/skeleton/create_stubs
index 4bc36ac618..9a86be745b 100755
--- a/ext/skeleton/create_stubs
+++ b/ext/skeleton/create_stubs
@@ -178,13 +178,12 @@ END {
" <funcprototype>\n" \
" <funcdef>" types[i] " <function>" funcs[i] "</function></funcdef>\n"
- fetchargs = "\tif (zend_parse_parameters("
- if (spec_opts[i]) {
+ if (maxargs[i]>0) {
+ fetchargs = "\tif (zend_parse_parameters("
ints = ints "\tint argc = ZEND_NUM_ARGS();\n"
- fetchargs = fetchargs "argc"
+ fetchargs = fetchargs "argc, " specs[i]
} else
- fetchargs = fetchargs "ZEND_NUM_ARGS()"
- fetchargs = fetchargs ", " specs[i]
+ fetchargs = fetchargs "\tif (ZEND_NUM_ARGS() != 0) {\n\t\tWRONG_PARAM_COUNT;\n\t}"
for (j = 0; j < maxargs[i]; j++) {
@@ -219,7 +218,9 @@ END {
}
proto = proto closeopts ")\n " fcomments[i] " */\nPHP_FUNCTION(" funcs[i] ")\n{"
- fetchargs = fetchargs ") == FAILURE)" closefetch " \n\t\treturn;\n"
+ if (maxargs[i]>0) {
+ fetchargs = fetchargs ") == FAILURE)" closefetch " \n\t\treturn;\n"
+ }
funcvals = strings ints longs doubles bools zvals
xmlstr = xmlstr xmlparams \
" </funcprototype>\n" \