103 lines
4.0 KiB
Diff
103 lines
4.0 KiB
Diff
From bd335c961fed6982e5ad8c2322414ff33a46e92e Mon Sep 17 00:00:00 2001
|
|
From: Yu Watanabe <watanabe.yu+github@gmail.com>
|
|
Date: Thu, 17 Jun 2021 16:12:06 +0900
|
|
Subject: [PATCH] list: introduce LIST_FOREACH_BACKWARDS() macro and drop
|
|
LIST_FOREACH_AFTER/BEFORE()
|
|
|
|
Reference:https://github.com/systemd/systemd/commit/bd335c961fed6982e5ad8c2322414ff33a46e92e
|
|
Conflict:NA
|
|
|
|
---
|
|
src/basic/list.h | 7 ++-----
|
|
src/core/device.c | 8 ++++----
|
|
src/core/swap.c | 4 ++--
|
|
src/udev/udev-rules.c | 2 +-
|
|
4 files changed, 9 insertions(+), 12 deletions(-)
|
|
|
|
diff --git a/src/basic/list.h b/src/basic/list.h
|
|
index 256b718..e488fff 100644
|
|
--- a/src/basic/list.h
|
|
+++ b/src/basic/list.h
|
|
@@ -142,11 +142,8 @@
|
|
#define LIST_FOREACH_SAFE(name,i,n,head) \
|
|
for ((i) = (head); (i) && (((n) = (i)->name##_next), 1); (i) = (n))
|
|
|
|
-#define LIST_FOREACH_BEFORE(name,i,p) \
|
|
- for ((i) = (p)->name##_prev; (i); (i) = (i)->name##_prev)
|
|
-
|
|
-#define LIST_FOREACH_AFTER(name,i,p) \
|
|
- for ((i) = (p)->name##_next; (i); (i) = (i)->name##_next)
|
|
+#define LIST_FOREACH_BACKWARDS(name,i,p) \
|
|
+ for ((i) = (p); (i); (i) = (i)->name##_prev)
|
|
|
|
/* Iterate through all the members of the list p is included in, but skip over p */
|
|
#define LIST_FOREACH_OTHERS(name,i,p) \
|
|
diff --git a/src/core/device.c b/src/core/device.c
|
|
index c24bc12..06270e7 100644
|
|
--- a/src/core/device.c
|
|
+++ b/src/core/device.c
|
|
@@ -785,11 +785,11 @@ static Unit *device_following(Unit *u) {
|
|
return NULL;
|
|
|
|
/* Make everybody follow the unit that's named after the sysfs path */
|
|
- LIST_FOREACH_AFTER(same_sysfs, other, d)
|
|
+ LIST_FOREACH(same_sysfs, other, d->same_sysfs_next)
|
|
if (startswith(UNIT(other)->id, "sys-"))
|
|
return UNIT(other);
|
|
|
|
- LIST_FOREACH_BEFORE(same_sysfs, other, d) {
|
|
+ LIST_FOREACH_BACKWARDS(same_sysfs, other, d->same_sysfs_prev) {
|
|
if (startswith(UNIT(other)->id, "sys-"))
|
|
return UNIT(other);
|
|
|
|
@@ -816,13 +816,13 @@ static int device_following_set(Unit *u, Set **_set) {
|
|
if (!set)
|
|
return -ENOMEM;
|
|
|
|
- LIST_FOREACH_AFTER(same_sysfs, other, d) {
|
|
+ LIST_FOREACH(same_sysfs, other, d->same_sysfs_next) {
|
|
r = set_put(set, other);
|
|
if (r < 0)
|
|
return r;
|
|
}
|
|
|
|
- LIST_FOREACH_BEFORE(same_sysfs, other, d) {
|
|
+ LIST_FOREACH_BACKWARDS(same_sysfs, other, d->same_sysfs_prev) {
|
|
r = set_put(set, other);
|
|
if (r < 0)
|
|
return r;
|
|
diff --git a/src/core/swap.c b/src/core/swap.c
|
|
index 83e77d2..7a9628e 100644
|
|
--- a/src/core/swap.c
|
|
+++ b/src/core/swap.c
|
|
@@ -1323,11 +1323,11 @@ static Unit *swap_following(Unit *u) {
|
|
if (streq_ptr(s->what, s->devnode))
|
|
return NULL;
|
|
|
|
- LIST_FOREACH_AFTER(same_devnode, other, s)
|
|
+ LIST_FOREACH(same_devnode, other, s->same_devnode_next)
|
|
if (streq_ptr(other->what, other->devnode))
|
|
return UNIT(other);
|
|
|
|
- LIST_FOREACH_BEFORE(same_devnode, other, s) {
|
|
+ LIST_FOREACH_BACKWARDS(same_devnode, other, s->same_devnode_prev) {
|
|
if (streq_ptr(other->what, other->devnode))
|
|
return UNIT(other);
|
|
|
|
diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
|
|
index bf997fc..5e8dad2 100644
|
|
--- a/src/udev/udev-rules.c
|
|
+++ b/src/udev/udev-rules.c
|
|
@@ -1154,7 +1154,7 @@ static void rule_resolve_goto(UdevRuleFile *rule_file) {
|
|
if (!FLAGS_SET(line->type, LINE_HAS_GOTO))
|
|
continue;
|
|
|
|
- LIST_FOREACH_AFTER(rule_lines, i, line)
|
|
+ LIST_FOREACH(rule_lines, i, line->rule_lines_next)
|
|
if (streq_ptr(i->label, line->goto_label)) {
|
|
line->goto_line = i;
|
|
break;
|
|
--
|
|
2.33.0
|
|
|