Skip to content

Commit

Permalink
- Fix typos, add default case to switch and other small things.
Browse files Browse the repository at this point in the history
  • Loading branch information
Jouni Ahto committed Jun 10, 2000
1 parent b54f915 commit f3c1222
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 23 deletions.
21 changes: 14 additions & 7 deletions ext/ext_skel
Expand Up @@ -32,19 +32,18 @@ else
ECHO_C='\c'
fi

ECHO_E="echo -e" # Any portability problems? If, how to test.

echo "Creating directory"

mkdir $extname || givup "Cannot create directory $extname"

cd $extname
chmod 755 .

if [ ! -z $functions ]; then
cat $functions | awk -f ../skeleton/create_stubs
echo $functions
cat $functions | awk -v extname=$extname -f ./skeleton/create_stubs
fi

cd $extname
chmod 755 .

$ECHO_N "Creating basic files:$ECHO_C"

$ECHO_N " config.m4$ECHO_C"
Expand Down Expand Up @@ -129,6 +128,14 @@ if [ ! -z $functions ]; then
rm function_entries
rm function_declarations
rm function_stubs
if [ -f function_warning ]; then
rm function_warning
warning="
NOTE! Because some arguments to functions were resources, the code generated
cannot yet be compiled without editing. Please consider this to be step 4.5
in the instructions above.
"
fi
fi

chmod 644 *
Expand All @@ -151,5 +158,5 @@ To use your new extension, you will have to execute the following steps:
Repeat steps 3-6 until you are satisfied with ext/$extname/config.m4 and
step 6 confirms that your module is compiled in PHP. Then, start writing
code and repeat the last two steps as often as necessary.
$warning
eof
35 changes: 19 additions & 16 deletions ext/skeleton/create_stubs
Expand Up @@ -66,7 +66,7 @@ END {
useswitch = maxargs[i] - minargs[i]
funcvals = resources = handleargs = ""

proto = "/* {{{ #proto " types[i] " " funcs[i] "("
proto = "/* {{{ proto " types[i] " " funcs[i] "("

if (maxargs[i]) {
zvals = "\tzval "
Expand Down Expand Up @@ -98,9 +98,9 @@ END {

if (useswitch) {
if (j > minargs[i]-1) {
handleargs = "\t\tcase " j+1 ";\n\t\t\t" convert(argtypes[i,j], argnames[i,j]) "\t\t\t/* Fall-through. */\n" handleargs
handleargs = "\t\tcase " j+1 ":\n\t\t\t" convert(argtypes[i,j], argnames[i,j]) "\t\t\t/* Fall-through. */\n" handleargs
} else if (j >= minargs[i]-1) {
handleargs = "\t\tcase " j+1 ";\n\t\t\t" convert(argtypes[i,j], argnames[i,j]) handleargs
handleargs = "\t\tcase " j+1 ":\n\t\t\t" convert(argtypes[i,j], argnames[i,j]) handleargs
} else {
handleargs = "\t\t\t" convert(argtypes[i,j], argnames[i,j]) handleargs
}
Expand All @@ -112,21 +112,24 @@ END {
proto = proto closeopts ")\n */\nPHP_FUNCTION(" funcs[i] ")\n{"
if (maxargs[i]) {
zvals = zvals ";"
fetchargs = fetchargs ") == FAILURE) {\n\t\tWRONG_PARAM_COUNT();\n\t}\n"
fetchargs = fetchargs ") == FAILURE) {\n\t\tWRONG_PARAM_COUNT;\n\t}\n"
}
if (resources ) funcvals = funcvals "\t???LS_FETCH();\n"
if (useswitch) handleargs = "\tswitch (argc) {\n" handleargs "\t\t\tbreak;\n\t}"

print proto > "function_stubs"
if (zvals) print zvals > "function_stubs"
if (funcvals) print funcvals > "function_stubs"
if (fetchargs) print fetchargs > "function_stubs"
if (resources) print resources > "function_stubs"
if (handleargs) print handleargs > "function_stubs"
print "\n\tphp_error(E_WARNING, \"" funcs[i] ": not yet implemented\");" > "function_stubs"
print "}\n/* }}} */\n" > "function_stubs"
print "PHP_FUNCTION(" funcs[i] ");" > "function_declarations"
print "\tPHP_FE(" funcs[i] ",\tNULL)" > "function_entries"
if (useswitch) handleargs = "\tswitch (argc) {\n" handleargs "\t\t\tbreak;\n\t\tdefault:\n\t\t\tWRONG_PARAM_COUNT;\n\t}"

print proto > extname "/function_stubs"
if (zvals) print zvals > extname "/function_stubs"
if (funcvals) print funcvals > extname "/function_stubs"
if (fetchargs) print fetchargs > extname "/function_stubs"
if (resources) {
print resources > extname "/function_stubs"
print "" > extname "/function_warning"
}
if (handleargs) print handleargs > extname "/function_stubs"
print "\n\tphp_error(E_WARNING, \"" funcs[i] ": not yet implemented\");" > extname "/function_stubs"
print "}\n/* }}} */\n" > extname "/function_stubs"
print "PHP_FUNCTION(" funcs[i] ");" > extname "/function_declarations"
print "\tPHP_FE(" funcs[i] ",\tNULL)" > extname "/function_entries"
}
}

Expand Down

0 comments on commit f3c1222

Please sign in to comment.