goto out;\r
}\r
\r
+ /* process switch argument */\r
if (argv[optind][2] != '\0') {\r
optarg = &argv[optind][2];\r
goto out;\r
}\r
\r
/* switch argument is optional (::) - be careful */\r
- if (loc[2] == ':' && (argv[optind+1] && argv[optind+1][0] == '-'))\r
- goto out;\r
+ if (loc[2] == ':' ) {\r
+ if ((argv[optind+1] == NULL)) {\r
+ /* handle EOL without optional arg */\r
+ optarg = NULL;\r
+ goto out;\r
+ }\r
+ if (argv[optind+1] && argv[optind+1][0] == '-')\r
+ goto out;\r
+ }\r
\r
optarg = argv[++optind];\r
if (!optarg || !(*optarg)) {\r
goto out;\r
}\r
\r
+ /* process switch argument */\r
if (argv[optind][2] != '\0') {\r
optarg = &argv[optind][2];\r
goto out;\r
}\r
\r
/* switch argument is optional (::) - be careful */\r
- if (loc[2] == ':' && (argv[optind+1] && argv[optind+1][0] == '-'))\r
- goto out;\r
+ if (loc[2] == ':' ) {\r
+ if ((argv[optind+1] == NULL)) {\r
+ /* handle EOL without optional arg */\r
+ optarg = NULL;\r
+ goto out;\r
+ }\r
+ if (argv[optind+1] && argv[optind+1][0] == '-')\r
+ goto out;\r
+ }\r
\r
optarg = argv[++optind];\r
if (!optarg || !(*optarg)) {\r