summaryrefslogtreecommitdiffstats
path: root/sys/contrib/dev/acpica/common/getopt.c
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2013-07-26 21:34:09 +0000
committerjkim <jkim@FreeBSD.org>2013-07-26 21:34:09 +0000
commite0885a9b34c323faf808677aa57de877e8fbd231 (patch)
tree8a64e569d94e0e829489db627e08ca76d4368bba /sys/contrib/dev/acpica/common/getopt.c
parent97ac613107cbd046b09fe26d250509b3ed473a3b (diff)
downloadFreeBSD-src-e0885a9b34c323faf808677aa57de877e8fbd231.zip
FreeBSD-src-e0885a9b34c323faf808677aa57de877e8fbd231.tar.gz
Merge ACPICA 20130725.
Diffstat (limited to 'sys/contrib/dev/acpica/common/getopt.c')
-rw-r--r--sys/contrib/dev/acpica/common/getopt.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/sys/contrib/dev/acpica/common/getopt.c b/sys/contrib/dev/acpica/common/getopt.c
index a4ad288..69f2ed5 100644
--- a/sys/contrib/dev/acpica/common/getopt.c
+++ b/sys/contrib/dev/acpica/common/getopt.c
@@ -197,6 +197,26 @@ AcpiGetopt(
CurrentCharPtr = 1;
}
+ /* Option has an optional argument? */
+
+ else if (*OptsPtr == '+')
+ {
+ if (argv[AcpiGbl_Optind][(int) (CurrentCharPtr+1)] != '\0')
+ {
+ AcpiGbl_Optarg = &argv[AcpiGbl_Optind++][(int) (CurrentCharPtr+1)];
+ }
+ else if (++AcpiGbl_Optind >= argc)
+ {
+ AcpiGbl_Optarg = NULL;
+ }
+ else
+ {
+ AcpiGbl_Optarg = argv[AcpiGbl_Optind++];
+ }
+
+ CurrentCharPtr = 1;
+ }
+
/* Option has optional single-char arguments? */
else if (*OptsPtr == '^')
OpenPOWER on IntegriCloud