shared/install: add helper function unit_file_changes_have_modification()
As suggested in review of #3049.
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user