aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAnton Babushkin <anton.babushkin@me.com>2014-03-08 22:03:25 +0400
committerAnton Babushkin <anton.babushkin@me.com>2014-03-08 22:03:25 +0400
commit544de3c9f030693ed24f5e46658204a3d3f644fc (patch)
tree813947df30a240329e0ce1552faf37fc701a5e0c /src
parentaca6806b82b8ee201260a9e383879b6d821dba1a (diff)
parent8783bed114e8ece85d62f15d0d2a06c28aa0bcfe (diff)
downloadpx4-firmware-544de3c9f030693ed24f5e46658204a3d3f644fc.tar.gz
px4-firmware-544de3c9f030693ed24f5e46658204a3d3f644fc.tar.bz2
px4-firmware-544de3c9f030693ed24f5e46658204a3d3f644fc.zip
Merge branch 'getopt_fixes' into sdlog2_opt
Diffstat (limited to 'src')
-rw-r--r--src/modules/sdlog2/sdlog2.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/modules/sdlog2/sdlog2.c b/src/modules/sdlog2/sdlog2.c
index 58890322b..ad3a7f12c 100644
--- a/src/modules/sdlog2/sdlog2.c
+++ b/src/modules/sdlog2/sdlog2.c
@@ -670,6 +670,10 @@ int sdlog2_thread_main(int argc, char *argv[])
argv += 2;
int ch;
+ /* don't exit from getopt loop to leave getopt global variables in consistent state,
+ * set error flag instead */
+ bool err_flag = false;
+
while ((ch = getopt(argc, argv, "r:b:eat")) != EOF) {
switch (ch) {
case 'r': {
@@ -716,13 +720,20 @@ int sdlog2_thread_main(int argc, char *argv[])
} else {
warnx("unknown option character `\\x%x'", optopt);
}
+ err_flag = true;
+ break;
default:
- sdlog2_usage("unrecognized flag");
- errx(1, "exiting");
+ warnx("unrecognized flag");
+ err_flag = true;
+ break;
}
}
+ if (err_flag) {
+ sdlog2_usage(NULL);
+ }
+
gps_time = 0;
/* create log root dir */