summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2020-10-15 17:33:04 +0200
committerYu Watanabe <watanabe.yu+github@gmail.com>2020-10-20 08:51:48 +0200
commit67bd5620f6cf481c0a59cedbcf63ddcab355cc55 (patch)
treee7aafd7a176377f9c4a1100a7e304ac32f05399f
parentMerge pull request #16939 from Rahix/robust-first-boot-machine-id (diff)
downloadsystemd-67bd5620f6cf481c0a59cedbcf63ddcab355cc55.tar.xz
systemd-67bd5620f6cf481c0a59cedbcf63ddcab355cc55.zip
util: make size macros unsigned
By making them unsigned comparing them with other sizes is less likely to trigger compiler warnings regarding signed/unsigned comparisons. After all sizes (i.e. size_t) are generally assumed to be unsigned, so these should be too. Prompted-by: https://github.com/systemd/systemd/pull/17345#issuecomment-709402332
-rw-r--r--src/basic/format-util.h5
-rw-r--r--src/basic/time-util.h8
-rw-r--r--src/cgtop/cgtop.c2
-rw-r--r--src/shared/logs-show.c2
4 files changed, 10 insertions, 7 deletions
diff --git a/src/basic/format-util.h b/src/basic/format-util.h
index c47fa76ea8..db37c16140 100644
--- a/src/basic/format-util.h
+++ b/src/basic/format-util.h
@@ -72,11 +72,14 @@ typedef enum {
FORMAT_BYTES_TRAILING_B = 1 << 2,
} FormatBytesFlag;
-#define FORMAT_BYTES_MAX 16
+#define FORMAT_BYTES_MAX 16U
+
char *format_bytes_full(char *buf, size_t l, uint64_t t, FormatBytesFlag flag);
+
static inline char *format_bytes(char *buf, size_t l, uint64_t t) {
return format_bytes_full(buf, l, t, FORMAT_BYTES_USE_IEC | FORMAT_BYTES_BELOW_POINT | FORMAT_BYTES_TRAILING_B);
}
+
static inline char *format_bytes_cgroup_protection(char *buf, size_t l, uint64_t t) {
if (t == CGROUP_LIMIT_MAX) {
(void) snprintf(buf, l, "%s", "infinity");
diff --git a/src/basic/time-util.h b/src/basic/time-util.h
index cecd5efa60..6feda5e155 100644
--- a/src/basic/time-util.h
+++ b/src/basic/time-util.h
@@ -63,10 +63,10 @@ typedef enum TimestampStyle {
/* We assume a maximum timezone length of 6. TZNAME_MAX is not defined on Linux, but glibc internally initializes this
* to 6. Let's rely on that. */
-#define FORMAT_TIMESTAMP_MAX (3+1+10+1+8+1+6+1+6+1)
-#define FORMAT_TIMESTAMP_WIDTH 28 /* when outputting, assume this width */
-#define FORMAT_TIMESTAMP_RELATIVE_MAX 256
-#define FORMAT_TIMESPAN_MAX 64
+#define FORMAT_TIMESTAMP_MAX (3U+1U+10U+1U+8U+1U+6U+1U+6U+1U)
+#define FORMAT_TIMESTAMP_WIDTH 28U /* when outputting, assume this width */
+#define FORMAT_TIMESTAMP_RELATIVE_MAX 256U
+#define FORMAT_TIMESPAN_MAX 64U
#define TIME_T_MAX (time_t)((UINTMAX_C(1) << ((sizeof(time_t) << 3) - 1)) - 1)
diff --git a/src/cgtop/cgtop.c b/src/cgtop/cgtop.c
index 042d83c495..0b6c2f88ed 100644
--- a/src/cgtop/cgtop.c
+++ b/src/cgtop/cgtop.c
@@ -586,7 +586,7 @@ static void display(Hashmap *a) {
Group **array;
signed path_columns;
unsigned rows, n = 0, j, maxtcpu = 0, maxtpath = 3; /* 3 for ellipsize() to work properly */
- char buffer[MAX3(21, FORMAT_BYTES_MAX, FORMAT_TIMESPAN_MAX)];
+ char buffer[MAX3(21U, FORMAT_BYTES_MAX, FORMAT_TIMESPAN_MAX)];
assert(a);
diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
index 4f25c643d2..f7d3e01b49 100644
--- a/src/shared/logs-show.c
+++ b/src/shared/logs-show.c
@@ -347,7 +347,7 @@ static int output_timestamp_monotonic(FILE *f, sd_journal *j, const char *monoto
}
static int output_timestamp_realtime(FILE *f, sd_journal *j, OutputMode mode, OutputFlags flags, const char *realtime) {
- char buf[MAX(FORMAT_TIMESTAMP_MAX, 64)];
+ char buf[MAX(FORMAT_TIMESTAMP_MAX, 64U)];
struct tm *(*gettime_r)(const time_t *, struct tm *);
struct tm tm;
uint64_t x;