diff options
author | Andrew Tridgell <tridge@samba.org> | 2013-10-19 15:21:02 +1100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-10-19 11:42:33 +0200 |
commit | e3fe4437204b2aecdaa1131fcb4bb0c7751a43df (patch) | |
tree | 59cf807d5fa11bad713af4cca069dcd8eae2cb71 | |
parent | dbb49c035bb85876b234fc057d9f244b43453a44 (diff) | |
download | px4-firmware-e3fe4437204b2aecdaa1131fcb4bb0c7751a43df.tar.gz px4-firmware-e3fe4437204b2aecdaa1131fcb4bb0c7751a43df.tar.bz2 px4-firmware-e3fe4437204b2aecdaa1131fcb4bb0c7751a43df.zip |
rgbled: fixed getopt() handling
this allows the -a option to be used, for example
rgbled -a 0x55 start
-rw-r--r-- | src/drivers/rgbled/rgbled.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/drivers/rgbled/rgbled.cpp b/src/drivers/rgbled/rgbled.cpp index 34a45c739..d49211b7b 100644 --- a/src/drivers/rgbled/rgbled.cpp +++ b/src/drivers/rgbled/rgbled.cpp @@ -574,7 +574,7 @@ rgbled_main(int argc, char *argv[]) int ch; /* jump over start/off/etc and look at options first */ - while ((ch = getopt(argc - 1, &argv[1], "a:b:")) != EOF) { + while ((ch = getopt(argc, argv, "a:b:")) != EOF) { switch (ch) { case 'a': rgbledadr = strtol(optarg, NULL, 0); @@ -590,7 +590,12 @@ rgbled_main(int argc, char *argv[]) } } - const char *verb = argv[1]; + if (optind >= argc) { + rgbled_usage(); + exit(1); + } + + const char *verb = argv[optind]; int fd; int ret; |