]> granicus.if.org Git - php/commitdiff
- Fix issue with long form of command line switches
authorMarcus Boerger <helly@php.net>
Wed, 21 Mar 2007 23:19:00 +0000 (23:19 +0000)
committerMarcus Boerger <helly@php.net>
Wed, 21 Mar 2007 23:19:00 +0000 (23:19 +0000)
sapi/cli/getopt.c

index 75ec1fa8d9f0fc5dd8e2e2899fa50f766ed510e2..8634003daee0a7d775f022bdc265541eeb4fcad3 100644 (file)
@@ -89,19 +89,19 @@ int php_getopt(int argc, char* const *argv, const opt_struct opts[], char **opta
                        }
                }
                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) {