[PATCH] dmesg: don't use magic numbers in klogctl()
Bence Csókás
csokas.bence at prolan.hu
Fri Jan 3 14:48:53 UTC 2025
From: Bartosz Golaszewski <bartekgola at gmail.com>
Signed-off-by: Bartosz Golaszewski <bartekgola at gmail.com>
[ csokas.bence: Rebase and fix conflicts ]
Signed-off-by: Bence Csókás <csokas.bence at prolan.hu>
---
util-linux/dmesg.c | 24 +++++++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/util-linux/dmesg.c b/util-linux/dmesg.c
index 5d8f01a64..7a1b554c3 100644
--- a/util-linux/dmesg.c
+++ b/util-linux/dmesg.c
@@ -57,6 +57,20 @@
#include <sys/klog.h>
#include "libbb.h"
+enum {
+ SYSLOG_ACTION_CLOSE = 0,
+ SYSLOG_ACTION_OPEN,
+ SYSLOG_ACTION_READ,
+ SYSLOG_ACTION_READ_ALL,
+ SYSLOG_ACTION_READ_CLEAR,
+ SYSLOG_ACTION_CLEAR,
+ SYSLOG_ACTION_CONSOLE_OFF,
+ SYSLOG_ACTION_CONSOLE_ON,
+ SYSLOG_ACTION_CONSOLE_LEVEL,
+ SYSLOG_ACTION_SIZE_UNREAD,
+ SYSLOG_ACTION_SIZE_BUFFER,
+};
+
int dmesg_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int dmesg_main(int argc UNUSED_PARAM, char **argv)
{
@@ -72,20 +86,24 @@ int dmesg_main(int argc UNUSED_PARAM, char **argv)
opts = getopt32(argv, "cs:+n:+r", &len, &level);
if (opts & OPT_n) {
- if (klogctl(8, NULL, (long) level))
+ if (klogctl(SYSLOG_ACTION_CONSOLE_LEVEL, NULL, (long) level))
bb_simple_perror_msg_and_die("klogctl");
return EXIT_SUCCESS;
}
if (!(opts & OPT_s))
- len = klogctl(10, NULL, 0); /* read ring buffer size */
+ /* read ring buffer size */
+ len = klogctl(SYSLOG_ACTION_SIZE_BUFFER, NULL, 0);
if (len < 16*1024)
len = 16*1024;
if (len > 16*1024*1024)
len = 16*1024*1024;
buf = xmalloc(len);
- len = klogctl(3 + (opts & OPT_c), buf, len); /* read ring buffer */
+ /* read ring buffer */
+ len = klogctl((opts & OPT_c) ? SYSLOG_ACTION_READ_CLEAR
+ : SYSLOG_ACTION_READ_ALL,
+ buf, len);
if (len < 0)
bb_simple_perror_msg_and_die("klogctl");
if (len == 0)
--
2.34.1
More information about the busybox
mailing list