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 {