[hackers] [slstatus][PATCH] do not rely on obsolete feature

From: NRK <nrk_AT_disroot.org>
Date: Thu, 27 Oct 2022 02:16:05 +0600

function prototype with unspecified argument is obsolete since c99.

additionally some of these function which don't take any argument were
being called with a `const char *` arg, which is UB.

fix both these issues by declararing ALL the components to accept a
`const char *`, and name the arg "unused" if it's meant to be ignored.
---
 components/cpu.c            | 12 ++++++------
 components/entropy.c        |  4 ++--
 components/hostname.c       |  2 +-
 components/kernel_release.c |  2 +-
 components/keymap.c         |  2 +-
 components/load_avg.c       |  2 +-
 components/ram.c            | 24 +++++++++++------------
 components/swap.c           | 24 +++++++++++------------
 components/uptime.c         |  2 +-
 components/user.c           |  6 +++---
 config.mk                   |  2 +-
 slstatus.c                  |  2 +-
 slstatus.h                  | 38 ++++++++++++++++++-------------------
 13 files changed, 61 insertions(+), 61 deletions(-)
diff --git a/components/cpu.c b/components/cpu.c
index a5fabf8..254f047 100644
--- a/components/cpu.c
+++ b/components/cpu.c
_AT_@ -8,7 +8,7 @@
 
 #if defined(__linux__)
 	const char *
-	cpu_freq(void)
+	cpu_freq(const char *unused)
 	{
 		uintmax_t freq;
 
_AT_@ -22,7 +22,7 @@
 	}
 
 	const char *
-	cpu_perc(void)
+	cpu_perc(const char *unused)
 	{
 		static long double a[7];
 		long double b[7], sum;
_AT_@ -55,7 +55,7 @@
 	#include <sys/sysctl.h>
 
 	const char *
-	cpu_freq(void)
+	cpu_freq(const char *unused)
 	{
 		int freq, mib[2];
 		size_t size;
_AT_@ -75,7 +75,7 @@
 	}
 
 	const char *
-	cpu_perc(void)
+	cpu_perc(const char *unused)
 	{
 		int mib[2];
 		static uintmax_t a[CPUSTATES];
_AT_@ -115,7 +115,7 @@
 	#include <devstat.h>
 
 	const char *
-	cpu_freq(void)
+	cpu_freq(const char *unused)
 	{
 		int freq;
 		size_t size;
_AT_@ -132,7 +132,7 @@
 	}
 
 	const char *
-	cpu_perc(void)
+	cpu_perc(const char *unused)
 	{
 		size_t size;
 		static long a[CPUSTATES];
diff --git a/components/entropy.c b/components/entropy.c
index cf60bc3..0544749 100644
--- a/components/entropy.c
+++ b/components/entropy.c
_AT_@ -7,7 +7,7 @@
 	#include "../util.h"
 
 	const char *
-	entropy(void)
+	entropy(const char *unused)
 	{
 		uintmax_t num;
 
_AT_@ -20,7 +20,7 @@
 	}
 #elif defined(__OpenBSD__) | defined(__FreeBSD__)
 	const char *
-	entropy(void)
+	entropy(const char *unused)
 	{
 		/* Unicode Character 'INFINITY' (U+221E) */
 		return "\xe2\x88\x9e";
diff --git a/components/hostname.c b/components/hostname.c
index 8627a88..f04a913 100644
--- a/components/hostname.c
+++ b/components/hostname.c
_AT_@ -6,7 +6,7 @@
 #include "../slstatus.h"
 
 const char *
-hostname(void)
+hostname(const char *unused)
 {
 	if (gethostname(buf, sizeof(buf)) < 0) {
 		warn("gethostbyname:");
diff --git a/components/kernel_release.c b/components/kernel_release.c
index 76a3827..e21fefe 100644
--- a/components/kernel_release.c
+++ b/components/kernel_release.c
_AT_@ -6,7 +6,7 @@
 #include "../slstatus.h"
 
 const char *
-kernel_release(void)
+kernel_release(const char *unused)
 {
 	struct utsname udata;
 
diff --git a/components/keymap.c b/components/keymap.c
index 87036db..2a99474 100644
--- a/components/keymap.c
+++ b/components/keymap.c
_AT_@ -47,7 +47,7 @@ get_layout(char *syms, int grp_num)
 }
 
 const char *
-keymap(void)
+keymap(const char *unused)
 {
 	Display *dpy;
 	XkbDescRec *desc;
diff --git a/components/load_avg.c b/components/load_avg.c
index 2b523e7..ab33fa3 100644
--- a/components/load_avg.c
+++ b/components/load_avg.c
_AT_@ -6,7 +6,7 @@
 #include "../slstatus.h"
 
 const char *
-load_avg(void)
+load_avg(const char *unused)
 {
 	double avgs[3];
 
diff --git a/components/ram.c b/components/ram.c
index 3fa78af..d90b107 100644
--- a/components/ram.c
+++ b/components/ram.c
_AT_@ -8,7 +8,7 @@
 	#include <stdint.h>
 
 	const char *
-	ram_free(void)
+	ram_free(const char *unused)
 	{
 		uintmax_t free;
 
_AT_@ -24,7 +24,7 @@
 	}
 
 	const char *
-	ram_perc(void)
+	ram_perc(const char *unused)
 	{
 		uintmax_t total, free, buffers, cached;
 
_AT_@ -47,7 +47,7 @@
 	}
 
 	const char *
-	ram_total(void)
+	ram_total(const char *unused)
 	{
 		uintmax_t total;
 
_AT_@ -60,7 +60,7 @@
 	}
 
 	const char *
-	ram_used(void)
+	ram_used(const char *unused)
 	{
 		uintmax_t total, free, buffers, cached;
 
_AT_@ -102,7 +102,7 @@
 	}
 
 	const char *
-	ram_free(void)
+	ram_free(const char *unused)
 	{
 		struct uvmexp uvmexp;
 		int free_pages;
_AT_@ -117,7 +117,7 @@
 	}
 
 	const char *
-	ram_perc(void)
+	ram_perc(const char *unused)
 	{
 		struct uvmexp uvmexp;
 		int percent;
_AT_@ -131,7 +131,7 @@
 	}
 
 	const char *
-	ram_total(void)
+	ram_total(const char *unused)
 	{
 		struct uvmexp uvmexp;
 
_AT_@ -145,7 +145,7 @@
 	}
 
 	const char *
-	ram_used(void)
+	ram_used(const char *unused)
 	{
 		struct uvmexp uvmexp;
 
_AT_@ -164,7 +164,7 @@
 	#include <vm/vm_param.h>
 
 	const char *
-	ram_free(void) {
+	ram_free(const char *unused) {
 		struct vmtotal vm_stats;
 		int mib[] = {CTL_VM, VM_TOTAL};
 		size_t len;
_AT_@ -178,7 +178,7 @@
 	}
 
 	const char *
-	ram_total(void) {
+	ram_total(const char *unused) {
 		unsigned int npages;
 		size_t len;
 
_AT_@ -191,7 +191,7 @@
 	}
 
 	const char *
-	ram_perc(void) {
+	ram_perc(const char *unused) {
 		unsigned int npages;
 		unsigned int active;
 		size_t len;
_AT_@ -209,7 +209,7 @@
 	}
 
 	const char *
-	ram_used(void) {
+	ram_used(const char *unused) {
 		unsigned int active;
 		size_t len;
 
diff --git a/components/swap.c b/components/swap.c
index 98983ee..2e8a6fb 100644
--- a/components/swap.c
+++ b/components/swap.c
_AT_@ -59,7 +59,7 @@
 	}
 
 	const char *
-	swap_free(void)
+	swap_free(const char *unused)
 	{
 		long free;
 
_AT_@ -71,7 +71,7 @@
 	}
 
 	const char *
-	swap_perc(void)
+	swap_perc(const char *unused)
 	{
 		long total, free, cached;
 
_AT_@ -83,7 +83,7 @@
 	}
 
 	const char *
-	swap_total(void)
+	swap_total(const char *unused)
 	{
 		long total;
 
_AT_@ -95,7 +95,7 @@
 	}
 
 	const char *
-	swap_used(void)
+	swap_used(const char *unused)
 	{
 		long total, free, cached;
 
_AT_@ -148,7 +148,7 @@
 	}
 
 	const char *
-	swap_free(void)
+	swap_free(const char *unused)
 	{
 		int total, used;
 
_AT_@ -160,7 +160,7 @@
 	}
 
 	const char *
-	swap_perc(void)
+	swap_perc(const char *unused)
 	{
 		int total, used;
 
_AT_@ -176,7 +176,7 @@
 	}
 
 	const char *
-	swap_total(void)
+	swap_total(const char *unused)
 	{
 		int total, used;
 
_AT_@ -188,7 +188,7 @@
 	}
 
 	const char *
-	swap_used(void)
+	swap_used(const char *unused)
 	{
 		int total, used;
 
_AT_@ -226,7 +226,7 @@
 	}
 
 	const char *
-	swap_free(void)
+	swap_free(const char *unused)
 	{
 		struct kvm_swap swap_info[1];
 		long used, total;
_AT_@ -241,7 +241,7 @@
 	}
 
 	const char *
-	swap_perc(void)
+	swap_perc(const char *unused)
 	{
 		struct kvm_swap swap_info[1];
 		long used, total;
_AT_@ -256,7 +256,7 @@
 	}
 
 	const char *
-	swap_total(void)
+	swap_total(const char *unused)
 	{
 		struct kvm_swap swap_info[1];
 		long total;
_AT_@ -270,7 +270,7 @@
 	}
 
 	const char *
-	swap_used(void)
+	swap_used(const char *unused)
 	{
 		struct kvm_swap swap_info[1];
 		long used;
diff --git a/components/uptime.c b/components/uptime.c
index fc3d204..99d1eda 100644
--- a/components/uptime.c
+++ b/components/uptime.c
_AT_@ -15,7 +15,7 @@
 #endif
 
 const char *
-uptime(void)
+uptime(const char *unused)
 {
 	char warn_buf[256];
 	uintmax_t h, m;
diff --git a/components/user.c b/components/user.c
index fbe6814..770f5af 100644
--- a/components/user.c
+++ b/components/user.c
_AT_@ -8,13 +8,13 @@
 #include "../slstatus.h"
 
 const char *
-gid(void)
+gid(const char *unused)
 {
 	return bprintf("%d", getgid());
 }
 
 const char *
-username(void)
+username(const char *unused)
 {
 	struct passwd *pw;
 
_AT_@ -27,7 +27,7 @@ username(void)
 }
 
 const char *
-uid(void)
+uid(const char *unused)
 {
 	return bprintf("%d", geteuid());
 }
diff --git a/config.mk b/config.mk
index 6cce683..ead1859 100644
--- a/config.mk
+++ b/config.mk
_AT_@ -12,7 +12,7 @@ X11LIB = /usr/X11R6/lib
 
 # flags
 CPPFLAGS = -I$(X11INC) -D_DEFAULT_SOURCE
-CFLAGS   = -std=c99 -pedantic -Wall -Wextra -Os
+CFLAGS   = -std=c99 -pedantic -Wall -Wextra -Wno-unused-parameter -Os
 LDFLAGS  = -L$(X11LIB) -s
 # OpenBSD: add -lsndio
 # FreeBSD: add -lkvm -lsndio
diff --git a/slstatus.c b/slstatus.c
index 64da5cb..8fe5b44 100644
--- a/slstatus.c
+++ b/slstatus.c
_AT_@ -12,7 +12,7 @@
 #include "util.h"
 
 struct arg {
-	const char *(*func)();
+	const char *(*func)(const char *);
 	const char *fmt;
 	const char *args;
 };
diff --git a/slstatus.h b/slstatus.h
index 362ca7c..95e52ce 100644
--- a/slstatus.h
+++ b/slstatus.h
_AT_@ -6,8 +6,8 @@ const char *battery_state(const char *);
 const char *battery_remaining(const char *);
 
 /* cpu */
-const char *cpu_freq(void);
-const char *cpu_perc(void);
+const char *cpu_freq(const char *unused);
+const char *cpu_perc(const char *unused);
 
 /* datetime */
 const char *datetime(const char *fmt);
_AT_@ -19,26 +19,26 @@ const char *disk_total(const char *path);
 const char *disk_used(const char *path);
 
 /* entropy */
-const char *entropy(void);
+const char *entropy(const char *unused);
 
 /* hostname */
-const char *hostname(void);
+const char *hostname(const char *unused);
 
 /* ip */
 const char *ipv4(const char *interface);
 const char *ipv6(const char *interface);
 
 /* kernel_release */
-const char *kernel_release(void);
+const char *kernel_release(const char *unused);
 
 /* keyboard_indicators */
 const char *keyboard_indicators(const char *fmt);
 
 /* keymap */
-const char *keymap(void);
+const char *keymap(const char *unused);
 
 /* load_avg */
-const char *load_avg(void);
+const char *load_avg(const char *unused);
 
 /* netspeeds */
 const char *netspeed_rx(const char *interface);
_AT_@ -48,10 +48,10 @@ const char *netspeed_tx(const char *interface);
 const char *num_files(const char *path);
 
 /* ram */
-const char *ram_free(void);
-const char *ram_perc(void);
-const char *ram_total(void);
-const char *ram_used(void);
+const char *ram_free(const char *unused);
+const char *ram_perc(const char *unused);
+const char *ram_total(const char *unused);
+const char *ram_used(const char *unused);
 
 /* run_command */
 const char *run_command(const char *cmd);
_AT_@ -60,21 +60,21 @@ const char *run_command(const char *cmd);
 const char *separator(const char *separator);
 
 /* swap */
-const char *swap_free(void);
-const char *swap_perc(void);
-const char *swap_total(void);
-const char *swap_used(void);
+const char *swap_free(const char *unused);
+const char *swap_perc(const char *unused);
+const char *swap_total(const char *unused);
+const char *swap_used(const char *unused);
 
 /* temperature */
 const char *temp(const char *);
 
 /* uptime */
-const char *uptime(void);
+const char *uptime(const char *unused);
 
 /* user */
-const char *gid(void);
-const char *username(void);
-const char *uid(void);
+const char *gid(const char *unused);
+const char *username(const char *unused);
+const char *uid(const char *unused);
 
 /* volume */
 const char *vol_perc(const char *card);
-- 
2.35.1
Received on Wed Oct 26 2022 - 22:16:05 CEST

This archive was generated by hypermail 2.3.0 : Wed Oct 26 2022 - 22:24:36 CEST