diff options
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/cgroup-show.c | 13 | ||||
-rw-r--r-- | src/shared/util.h | 26 |
2 files changed, 15 insertions, 24 deletions
diff --git a/src/shared/cgroup-show.c b/src/shared/cgroup-show.c index 9ee532ca22..0e82375ea9 100644 --- a/src/shared/cgroup-show.c +++ b/src/shared/cgroup-show.c @@ -40,17 +40,6 @@ static int compare(const void *a, const void *b) { return 0; } -static unsigned ilog10(unsigned long ul) { - int n = 0; - - while (ul > 0) { - n++; - ul /= 10; - } - - return n; -} - static void show_pid_array(int pids[], unsigned n_pids, const char *prefix, unsigned n_columns, bool extra, bool more, bool kernel_threads, OutputFlags flags) { unsigned i, m, pid_width; pid_t biggest = 0; @@ -71,7 +60,7 @@ static void show_pid_array(int pids[], unsigned n_pids, const char *prefix, unsi pids[m++] = pids[i]; } n_pids = m; - pid_width = ilog10(biggest); + pid_width = DECIMAL_STR_WIDTH(biggest); /* And sort */ qsort(pids, n_pids, sizeof(pid_t), compare); diff --git a/src/shared/util.h b/src/shared/util.h index b33fdb5b7a..683ff5a4fe 100644 --- a/src/shared/util.h +++ b/src/shared/util.h @@ -649,19 +649,21 @@ static inline bool logind_running(void) { return access("/run/systemd/seats/", F_OK) >= 0; } -static inline unsigned decimal_str_max(unsigned x) { - unsigned ans = 1; - while (x /= 10) - ans ++; - return ans; -} +#define DECIMAL_STR_WIDTH(x) \ + ({ \ + typeof(x) _x_ = (x); \ + unsigned ans = 1; \ + while (_x_ /= 10) \ + ans++; \ + ans; \ + }) int unlink_noerrno(const char *path); -#define alloca0(n) \ - ({ \ - char *__new; \ - size_t __len = n; \ - __new = alloca(__len); \ - (void *) memset(__new, 0, __len); \ +#define alloca0(n) \ + ({ \ + char *_new_; \ + size_t _len_ = n; \ + _new_ = alloca(_len_); \ + (void *) memset(_new_, 0, _len_); \ }) |