Hi internals,
so based on a discussion of php.pecl we thought about using the php_getopt
for the PHP_FUNCTION(getopt) instead of the system provided getopt. Here
is the patch for that. Hopefully someone is reviewing and commiting the
patch as i don't have karma.
It addes main/getopt.c main/php_getopt.h to the build system and uses the
php_getopt function in the ext/standard/basic_functions.c. Furthermore it
removes all HAVE_GETOPT and HARTMUT_0 switches. it also enable longopts
for both win and linux in the form
$opt = getopt("a", array("param:", "param2"));
Where ":" in the longopts marks that the parameter takes an argument.
The main/getopt.c and main/php_getopt.h is in fact taken from
sapi/cli/getopt.c and sapi/cli/php_getopt.h but is slightly modified.
http://experimentalworks.net/~dsp/getopt.patch.tar.gz
It also runs on windows.
To apply the patch:
1) remove
sapi/cli/getopt.c sapi/cli/php_getopt.h
sapi/cgi/getopt.c sapi/cgi/php_getopt.h
2) add main/getopt.c and main/php_getopt.h frm the archive
3) apply the patch.