more correctly fix no-option parsing to still parse when no non-arg options are found
authordiscomfitor <discomfitor@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 23 Nov 2010 10:56:50 +0000 (10:56 +0000)
committerdiscomfitor <discomfitor@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 23 Nov 2010 10:56:50 +0000 (10:56 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@54862 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/ecore/ecore_getopt.c

index 741ee95..ce38e57 100644 (file)
@@ -1638,7 +1638,6 @@ ecore_getopt_parse(const Ecore_Getopt *parser, Ecore_Getopt_Value *values, int a
    else
      prog = parser->prog;
 
-   if (argc == 1) return 0;
    nonargs = _ecore_getopt_parse_find_nonargs_base(parser, argc, argv);
    if (nonargs < 0)
      goto error;
@@ -1647,7 +1646,7 @@ ecore_getopt_parse(const Ecore_Getopt *parser, Ecore_Getopt_Value *values, int a
      nonargs = argc;
 
    i = 1;
-   while (i < nonargs)
+   while ((i < nonargs ? nonargs : argc) && (argv[i]))
      if (!_ecore_getopt_parse_arg(parser, values, argc, argv, &i, &nonargs))
        goto error;