From 795ff6d5d827eb5743d9e37c4acaee4bdeff58b4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 17 Apr 2016 15:56:46 -0400 Subject: [PATCH] shared/install: add helper function unit_file_changes_have_modification() As suggested in review of #3049. --- src/core/dbus-manager.c | 12 +++++------- src/shared/install.h | 12 ++++++++---- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/core/dbus-manager.c b/src/core/dbus-manager.c index 0c3b011..ddfde23 100644 --- a/src/core/dbus-manager.c +++ b/src/core/dbus-manager.c @@ -1565,13 +1565,11 @@ static int reply_unit_file_changes_and_free( unsigned i; int r; - for (i = 0; i < n_changes; i++) - if (unit_file_change_is_modification(changes[i].type)) { - r = bus_foreach_bus(m, NULL, send_unit_files_changed, NULL); - if (r < 0) - log_debug_errno(r, "Failed to send UnitFilesChanged signal: %m"); - break; - } + if (unit_file_changes_have_modification(changes, n_changes)) { + r = bus_foreach_bus(m, NULL, send_unit_files_changed, NULL); + if (r < 0) + log_debug_errno(r, "Failed to send UnitFilesChanged signal: %m"); + } r = sd_bus_message_new_method_return(message, &reply); if (r < 0) diff --git a/src/shared/install.h b/src/shared/install.h index 99cd140..219b48f 100644 --- a/src/shared/install.h +++ b/src/shared/install.h @@ -77,16 +77,20 @@ enum UnitFileChangeType { _UNIT_FILE_CHANGE_TYPE_INVALID = -1 }; -static inline bool unit_file_change_is_modification(UnitFileChangeType type) { - return IN_SET(type, UNIT_FILE_SYMLINK, UNIT_FILE_UNLINK); -} - struct UnitFileChange { UnitFileChangeType type; char *path; char *source; }; +static inline bool unit_file_changes_have_modification(const UnitFileChange* changes, unsigned n_changes) { + unsigned i; + for (i = 0; i < n_changes; i++) + if (IN_SET(changes[i].type, UNIT_FILE_SYMLINK, UNIT_FILE_UNLINK)) + return true; + return false; +} + struct UnitFileList { char *path; UnitFileState state; -- 2.7.4