summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-01-08 01:59:58 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2015-01-16 00:56:59 -0500
commit06a5b99f71c4b160a67d085b6fc106b07ce0bee3 (patch)
tree7cc6ede7f88ef61b0717ba94a73fc93bf036cf0a
parent24f984a1476ee66c90b336cf29ddb03e75273089 (diff)
downloadsystemd-06a5b99f71c4b160a67d085b6fc106b07ce0bee3.tar.gz
udevadm: don't hit an assert when obsolete parameters are passed
https://bugzilla.redhat.com/show_bug.cgi?id=1178051 (cherry picked from commit 2ac23519d04835e8d8dfbce3d08d9ff76db58a68)
-rw-r--r--src/udev/udevadm-settle.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/udev/udevadm-settle.c b/src/udev/udevadm-settle.c
index ddcf1ddf9a..7d78e6d0d3 100644
--- a/src/udev/udevadm-settle.c
+++ b/src/udev/udevadm-settle.c
@@ -45,12 +45,12 @@ static void help(void) {
static int adm_settle(struct udev *udev, int argc, char *argv[]) {
static const struct option options[] = {
- { "seq-start", required_argument, NULL, '\0' }, /* removed */
- { "seq-end", required_argument, NULL, '\0' }, /* removed */
{ "timeout", required_argument, NULL, 't' },
{ "exit-if-exists", required_argument, NULL, 'E' },
- { "quiet", no_argument, NULL, 'q' }, /* removed */
{ "help", no_argument, NULL, 'h' },
+ { "seq-start", required_argument, NULL, 's' }, /* removed */
+ { "seq-end", required_argument, NULL, 'e' }, /* removed */
+ { "quiet", no_argument, NULL, 'q' }, /* removed */
{}
};
const char *exists = NULL;
@@ -60,8 +60,9 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) {
struct udev_queue *queue;
int rc = EXIT_FAILURE;
- while ((c = getopt_long(argc, argv, "s:e:t:E:qh", options, NULL)) >= 0) {
+ while ((c = getopt_long(argc, argv, "t:E:hs:e:q", options, NULL)) >= 0) {
switch (c) {
+
case 't': {
int r;
@@ -73,14 +74,24 @@ static int adm_settle(struct udev *udev, int argc, char *argv[]) {
};
break;
}
+
case 'E':
exists = optarg;
break;
+
case 'h':
help();
return EXIT_SUCCESS;
+
+ case 's':
+ case 'e':
+ case 'q':
+ log_info("Option -%c no longer supported.", c);
+ return EXIT_FAILURE;
+
case '?':
return EXIT_FAILURE;
+
default:
assert_not_reached("Unknown argument");
}