chiark / gitweb /
avoid repeated scans for goto targets (udev_iter_find_label)
[elogind.git] / udev / udev_rules.c
index d4dcb0680158305602eaf70d82e2a9ebb7a98bd4..9c37571fb0ae358825a0c07193355873105e88f3 100644 (file)
@@ -1529,7 +1529,7 @@ int udev_rules_get_name(struct udev_rules *rules, struct udevice *udevice)
 
                        if (rule->goto_label.operation != KEY_OP_UNSET) {
                                dbg(udevice->udev, "moving forward to label '%s'\n", key_val(rule, &rule->goto_label));
-                               udev_rules_iter_label(&iter, key_val(rule, &rule->goto_label));
+                               udev_rules_iter_goto(&iter, rule->goto_rule_off);
                        }
                }
        }
@@ -1609,7 +1609,7 @@ int udev_rules_get_run(struct udev_rules *rules, struct udevice *udevice)
 
                        if (rule->goto_label.operation != KEY_OP_UNSET) {
                                dbg(udevice->udev, "moving forward to label '%s'\n", key_val(rule, &rule->goto_label));
-                               udev_rules_iter_label(&iter, key_val(rule, &rule->goto_label));
+                               udev_rules_iter_goto(&iter, rule->goto_rule_off);
                        }
                }
        }