From: Kay Sievers Date: Wed, 28 Oct 2009 10:45:32 +0000 (+0100) Subject: remove "last_rule" option X-Git-Tag: 174~744 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bfbf65aad06550afcc5b886c1d3acf4c561edb2b;p=systemd remove "last_rule" option Its use breaks too many things which expect to be run from independent later rules, and is an idication that something needs to be fixed properly instead. --- diff --git a/NEWS b/NEWS index 27b778f2..ec833166 100644 --- a/NEWS +++ b/NEWS @@ -27,6 +27,10 @@ the udevadm commands. The udev-acl tool got adopted to changes in ConsoleKit. Version 0.4.11 is required now. +The option "last_rule" does no longer exist. Its use breaks too many +things which expect to be run from independent later rules, and is an idication +that something needs to be fixed properly instead. + udev 146 ======== Bugfixes. diff --git a/udev/udev-rules.c b/udev/udev-rules.c index ddb51de8..422e14ce 100644 --- a/udev/udev-rules.c +++ b/udev/udev-rules.c @@ -164,7 +164,6 @@ enum token_type { TK_A_ATTR, /* val, attr */ TK_A_RUN, /* val, bool */ TK_A_GOTO, /* size_t */ - TK_A_LAST_RULE, TK_END, }; @@ -296,7 +295,6 @@ static const char *token_str(enum token_type type) [TK_A_ATTR] = "A ATTR", [TK_A_RUN] = "A RUN", [TK_A_GOTO] = "A GOTO", - [TK_A_LAST_RULE] = "A LAST_RULE", [TK_END] = "END", }; @@ -362,7 +360,6 @@ static void dump_token(struct udev_rules *rules, struct token *token) case TK_A_IGNORE_DEVICE: case TK_A_STRING_ESCAPE_NONE: case TK_A_STRING_ESCAPE_REPLACE: - case TK_A_LAST_RULE: case TK_A_IGNORE_REMOVE: dbg(rules->udev, "%s\n", token_str(type)); break; @@ -1037,7 +1034,6 @@ static int rule_add_key(struct rule_tmp *rule_tmp, enum token_type type, case TK_A_STRING_ESCAPE_NONE: case TK_A_STRING_ESCAPE_REPLACE: case TK_A_IGNORE_REMOVE: - case TK_A_LAST_RULE: break; case TK_A_RUN: token->key.value_off = add_string(rule_tmp->rules, value); @@ -1500,10 +1496,6 @@ static int add_rule(struct udev_rules *rules, char *line, if (strcmp(key, "OPTIONS") == 0) { const char *pos; - if (strstr(value, "last_rule") != NULL) { - dbg(rules->udev, "last rule to be applied\n"); - rule_add_key(&rule_tmp, TK_A_LAST_RULE, 0, NULL, NULL); - } if (strstr(value, "ignore_device") != NULL) { dbg(rules->udev, "device should be ignored\n"); rule_add_key(&rule_tmp, TK_A_IGNORE_DEVICE, 0, NULL, NULL); @@ -2526,7 +2518,6 @@ int udev_rules_apply_to_event(struct udev_rules *rules, struct udev_event *event break; cur = &rules->tokens[cur->key.rule_goto]; continue; - case TK_A_LAST_RULE: case TK_END: return 0; diff --git a/udev/udev.xml b/udev/udev.xml index c34a106d..41941c82 100644 --- a/udev/udev.xml +++ b/udev/udev.xml @@ -419,13 +419,6 @@ Rule and device options: - - - - Stops further rules application. No later rules will have - any effect. - -