summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2023-04-21 10:44:26 +0200
committerDavid Tardon <dtardon@redhat.com>2023-04-27 21:42:38 +0200
commit737e0f12d926a9aeb1ce5df14ae6bdd12d7eaa35 (patch)
tree2be74d2fedb82274057896dc56bd57ae9cb0c55d
parent93eceb59e65871fa7e85baff2d69a38b610af913 (diff)
downloadsystemd-737e0f12d926a9aeb1ce5df14ae6bdd12d7eaa35.tar.gz
logind-core: modernize button_free()
-rw-r--r--src/login/logind-button.c8
-rw-r--r--src/login/logind-button.h2
2 files changed, 6 insertions, 4 deletions
diff --git a/src/login/logind-button.c b/src/login/logind-button.c
index 727dad0b16..7f95fa7a4f 100644
--- a/src/login/logind-button.c
+++ b/src/login/logind-button.c
@@ -53,8 +53,9 @@ Button* button_new(Manager *m, const char *name) {
return b;
}
-void button_free(Button *b) {
- assert(b);
+Button *button_free(Button *b) {
+ if (!b)
+ return NULL;
hashmap_remove(b->manager->buttons, b->name);
@@ -65,7 +66,8 @@ void button_free(Button *b) {
free(b->name);
free(b->seat);
- free(b);
+
+ return mfree(b);
}
int button_set_seat(Button *b, const char *sn) {
diff --git a/src/login/logind-button.h b/src/login/logind-button.h
index 041d66521c..6c39471fb4 100644
--- a/src/login/logind-button.h
+++ b/src/login/logind-button.h
@@ -20,7 +20,7 @@ struct Button {
};
Button* button_new(Manager *m, const char *name);
-void button_free(Button *b);
+Button *button_free(Button *b);
int button_open(Button *b);
int button_set_seat(Button *b, const char *sn);
int button_check_switches(Button *b);