From 574a67b93db0a436c11c8c85d31ff05b673c100c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Wed, 15 Jun 2016 09:55:25 +0200 Subject: [PATCH] fix px4_getopt: ensure progress in case of unknown options Previously sdlog2 got stuck in an endless loop if an unknown argument was given --- src/platforms/common/px4_getopt.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/platforms/common/px4_getopt.c b/src/platforms/common/px4_getopt.c index a242e66e83..6b0427b936 100644 --- a/src/platforms/common/px4_getopt.c +++ b/src/platforms/common/px4_getopt.c @@ -143,10 +143,12 @@ __EXPORT int px4_getopt(int argc, char *argv[], const char *options, int *myopti char c; int takesarg; - if (*myoptind == 1) + if (*myoptind == 1) { if (reorder(argc, argv, options) != 0) { + *myoptind += 1; return (int)'?'; } + } p = argv[*myoptind]; @@ -158,6 +160,7 @@ __EXPORT int px4_getopt(int argc, char *argv[], const char *options, int *myopti c = isvalidopt(p[1], options, &takesarg); if (c == '?') { + *myoptind += 1; return (int)c; }