sniper Sun Apr 15 22:50:58 2007 UTC
Modified files: (Branch: PHP_5_2)
/php-src/sapi/cgi getopt.c php_getopt.h
Log:
- Synch these files from sapi/cli/ and allow using s.c. long-options
with CGI.
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/getopt.c?r1=1.9.2.1.2.1&r2=1.9.2.1.2.2&diff_format=u
Index: php-src/sapi/cgi/getopt.c
diff -u php-src/sapi/cgi/getopt.c:1.9.2.1.2.1
php-src/sapi/cgi/getopt.c:1.9.2.1.2.2
--- php-src/sapi/cgi/getopt.c:1.9.2.1.2.1 Mon Jan 1 09:36:12 2007
+++ php-src/sapi/cgi/getopt.c Sun Apr 15 22:50:58 2007
@@ -16,6 +16,8 @@
+----------------------------------------------------------------------+
*/
+/* $Id: getopt.c,v 1.9.2.1.2.2 2007/04/15 22:50:58 sniper Exp $ */
+
#include <stdio.h>
#include <string.h>
#include <assert.h>
@@ -77,29 +79,34 @@
}
if ((argv[*optind][0] == '-') && (argv[*optind][1] == '-')) {
/* '--' indicates end of args if not followed by a known long
option name */
+ if (argv[*optind][2] == '\0') {
+ (*optind)++;
+ return(EOF);
+ }
+
while (1) {
opts_idx++;
if (opts[opts_idx].opt_char == '-') {
(*optind)++;
- return(EOF);
+ return(php_opt_error(argc, argv, *optind-1,
optchr, OPTERRARG, show_err));
} else if (opts[opts_idx].opt_name &&
!strcmp(&argv[*optind][2], opts[opts_idx].opt_name)) {
break;
}
}
optchr = 0;
- dash = 1;
- arg_start = 2 + strlen(opts[opts_idx].opt_name);
- }
- if (!dash) {
- dash = 1;
- optchr = 1;
- }
-
- /* Check if the guy tries to do a -: kind of flag */
- if (argv[*optind][optchr] == ':') {
dash = 0;
- (*optind)++;
- return (php_opt_error(argc, argv, *optind-1, optchr,
OPTERRCOLON, show_err));
+ arg_start = 2 + strlen(opts[opts_idx].opt_name);
+ } else {
+ if (!dash) {
+ dash = 1;
+ optchr = 1;
+ }
+ /* Check if the guy tries to do a -: kind of flag */
+ if (argv[*optind][optchr] == ':') {
+ dash = 0;
+ (*optind)++;
+ return (php_opt_error(argc, argv, *optind-1, optchr,
OPTERRCOLON, show_err));
+ }
}
if (opts_idx < 0) {
while (1) {
http://cvs.php.net/viewvc.cgi/php-src/sapi/cgi/php_getopt.h?r1=1.7.2.1.2.1&r2=1.7.2.1.2.2&diff_format=u
Index: php-src/sapi/cgi/php_getopt.h
diff -u php-src/sapi/cgi/php_getopt.h:1.7.2.1.2.1
php-src/sapi/cgi/php_getopt.h:1.7.2.1.2.2
--- php-src/sapi/cgi/php_getopt.h:1.7.2.1.2.1 Mon Jan 1 09:36:12 2007
+++ php-src/sapi/cgi/php_getopt.h Sun Apr 15 22:50:58 2007
@@ -16,8 +16,17 @@
+----------------------------------------------------------------------+
*/
+/* $Id: php_getopt.h,v 1.7.2.1.2.2 2007/04/15 22:50:58 sniper Exp $ */
+
#include "php.h"
+#ifdef NETWARE
+/*
+As NetWare LibC has optind and optarg macros defined in unistd.h our local
variables were getting mistakenly preprocessed so undeffing optind and optarg
+*/
+#undef optarg
+#undef optind
+#endif
/* Define structure for one recognized option (both single char and long name).
* If short_open is '-' this is the last option.
*/
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php