mirror of
https://github.com/systemd/systemd.git
synced 2025-03-09 12:58:26 +03:00
systemctl: move compare_unit_info() to bus-unit-util.[ch]
It's an auxiliary function to the UnitInfo structures, and very generic. Let's hence move it over to the other code operating with UnitInfo, even if it's not used by code outside of systemctl (yet).
This commit is contained in:
parent
e2d839d316
commit
4dcc0653b5
@ -2407,3 +2407,20 @@ int unit_load_state(sd_bus *bus, const char *name, char **load_state) {
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int unit_info_compare(const UnitInfo *a, const UnitInfo *b) {
|
||||
int r;
|
||||
|
||||
/* First, order by machine */
|
||||
r = strcasecmp_ptr(a->machine, b->machine);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
/* Second, order by unit type */
|
||||
r = strcasecmp_ptr(strrchr(a->id, '.'), strrchr(b->id, '.'));
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
/* Third, order by name */
|
||||
return strcasecmp(a->id, b->id);
|
||||
}
|
||||
|
@ -28,3 +28,5 @@ int bus_append_unit_property_assignment_many(sd_bus_message *m, UnitType t, char
|
||||
int bus_deserialize_and_dump_unit_file_changes(sd_bus_message *m, bool quiet, UnitFileChange **changes, size_t *n_changes);
|
||||
|
||||
int unit_load_state(sd_bus *bus, const char *name, char **load_state);
|
||||
|
||||
int unit_info_compare(const UnitInfo *a, const UnitInfo *b);
|
||||
|
@ -323,23 +323,6 @@ static bool install_client_side(void) {
|
||||
return false;
|
||||
}
|
||||
|
||||
static int compare_unit_info(const UnitInfo *a, const UnitInfo *b) {
|
||||
int r;
|
||||
|
||||
/* First, order by machine */
|
||||
r = strcasecmp_ptr(a->machine, b->machine);
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
/* Second, order by unit type */
|
||||
r = strcasecmp_ptr(strrchr(a->id, '.'), strrchr(b->id, '.'));
|
||||
if (r != 0)
|
||||
return r;
|
||||
|
||||
/* Third, order by name */
|
||||
return strcasecmp(a->id, b->id);
|
||||
}
|
||||
|
||||
static const char* unit_type_suffix(const char *name) {
|
||||
const char *dot;
|
||||
|
||||
@ -865,7 +848,7 @@ static int list_units(int argc, char *argv[], void *userdata) {
|
||||
return r;
|
||||
}
|
||||
|
||||
typesafe_qsort(unit_infos, r, compare_unit_info);
|
||||
typesafe_qsort(unit_infos, r, unit_info_compare);
|
||||
return output_units_list(unit_infos, r);
|
||||
}
|
||||
|
||||
@ -5724,7 +5707,7 @@ static int show_all(
|
||||
|
||||
c = (unsigned) r;
|
||||
|
||||
typesafe_qsort(unit_infos, c, compare_unit_info);
|
||||
typesafe_qsort(unit_infos, c, unit_info_compare);
|
||||
|
||||
for (u = unit_infos; u < unit_infos + c; u++) {
|
||||
_cleanup_free_ char *p = NULL;
|
||||
|
Loading…
x
Reference in New Issue
Block a user