X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Fcgroup-show.c;h=cbd94e86d9166068e2dc657e7ed94c2f1f0b429c;hp=1e14ba6ddb77e92601b02676f9aa49ad2b5b4a53;hb=d8d5781c1eb031477670facc132e198f8fddd56c;hpb=3da7a50f847ce5ea6094927cb51bab7eb1818efd diff --git a/src/shared/cgroup-show.c b/src/shared/cgroup-show.c index 1e14ba6dd..cbd94e86d 100644 --- a/src/shared/cgroup-show.c +++ b/src/shared/cgroup-show.c @@ -43,7 +43,9 @@ static int compare(const void *a, const void *b) { static void show_pid_array(pid_t pids[], unsigned n_pids, const char *prefix, unsigned n_columns, bool extra, bool more, bool kernel_threads, OutputFlags flags) { unsigned i, j, pid_width; - assert(n_pids > 0); + if (n_pids == 0) + return; + qsort(pids, n_pids, sizeof(pid_t), compare); /* Filter duplicates */ @@ -91,7 +93,7 @@ static int show_cgroup_one_by_path(const char *path, const char *prefix, unsigne if (r < 0) return r; - fn = strappenda(p, "/cgroup.procs"); + fn = strjoina(p, "/cgroup.procs"); f = fopen(fn, "re"); if (!f) return -errno; @@ -111,8 +113,7 @@ static int show_cgroup_one_by_path(const char *path, const char *prefix, unsigne if (r < 0) return r; - if (n > 0) - show_pid_array(pids, n, prefix, n_columns, false, more, kernel_threads, flags); + show_pid_array(pids, n, prefix, n_columns, false, more, kernel_threads, flags); return 0; }