Fix klibc getopt_long_only() for optional arguments
Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/lib/getopt_long.c b/lib/getopt_long.c
index 6e8abc0..70894e3 100644
--- a/lib/getopt_long.c
+++ b/lib/getopt_long.c
@@ -126,7 +126,16 @@
} else {
/* Argument-taking option with non-attached
argument */
- if (argv[optind + 1]) {
+ if (osptr[2] == ':') {
+ if (argv[optind + 1]) {
+ optarg = (char *)argv[optind+1];
+ optind += 2;
+ } else {
+ optarg = NULL;
+ optind++;
+ }
+ return opt;
+ } else if (argv[optind + 1]) {
optarg = (char *)argv[optind+1];
optind += 2;
} else {