Module Name:    src
Committed By:   rillig
Date:           Fri Feb 16 17:42:50 UTC 2024

Modified Files:
        src/common/lib/libutil: snprintb.c

Log Message:
snprintb: rename local variables

The single-letter variables 't', 's', 'l' and 'c' were too hard to
decipher.

The variable 'f_len' was used for two independent purposes.

Use a narrow scope for some variables, to avoid having to keep track of
22 individual variables at the same time.

No binary change.


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/common/lib/libutil/snprintb.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/common/lib/libutil/snprintb.c
diff -u src/common/lib/libutil/snprintb.c:1.26 src/common/lib/libutil/snprintb.c:1.27
--- src/common/lib/libutil/snprintb.c:1.26	Fri Feb 16 01:57:50 2024
+++ src/common/lib/libutil/snprintb.c	Fri Feb 16 17:42:49 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: snprintb.c,v 1.26 2024/02/16 01:57:50 rillig Exp $	*/
+/*	$NetBSD: snprintb.c,v 1.27 2024/02/16 17:42:49 rillig Exp $	*/
 
 /*-
  * Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -41,7 +41,7 @@
 
 #  include <sys/cdefs.h>
 #  if defined(LIBC_SCCS) && !defined(lint)
-__RCSID("$NetBSD: snprintb.c,v 1.26 2024/02/16 01:57:50 rillig Exp $");
+__RCSID("$NetBSD: snprintb.c,v 1.27 2024/02/16 17:42:49 rillig Exp $");
 #  endif
 
 #  include <sys/types.h>
@@ -51,7 +51,7 @@ __RCSID("$NetBSD: snprintb.c,v 1.26 2024
 #  include <errno.h>
 # else /* ! _KERNEL */
 #  include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: snprintb.c,v 1.26 2024/02/16 01:57:50 rillig Exp $");
+__KERNEL_RCSID(0, "$NetBSD: snprintb.c,v 1.27 2024/02/16 17:42:49 rillig Exp $");
 #  include <sys/param.h>
 #  include <sys/inttypes.h>
 #  include <sys/systm.h>
@@ -61,14 +61,13 @@ __KERNEL_RCSID(0, "$NetBSD: snprintb.c,v
 # ifndef HAVE_SNPRINTB_M
 int
 snprintb_m(char *buf, size_t bufsize, const char *bitfmt, uint64_t val,
-	   size_t l_max)
+	   size_t line_max)
 {
-	char *bp = buf, *s_bp = NULL;
-	const char *c_fmt, *s_fmt = NULL, *cur_fmt;
-	const char *sbase;
-	int bit, ch, t_len, s_len = 0, l_len, f_len, v_len, sep;
-	int restart = 0, matched = 1;
-	uint64_t field;
+	char *bp = buf, *sep_bp = NULL;
+	const char *c_fmt, *sep_fmt = NULL, *cur_fmt;
+	const char *num_fmt;
+	int ch, total_len, sep_line_len = 0, line_len, val_len, sep;
+	int restart = 0;
 
 #ifdef _KERNEL
 	/*
@@ -81,73 +80,70 @@ snprintb_m(char *buf, size_t bufsize, co
 	ch = *bitfmt++;
 	switch (ch != '\177' ? ch : *bitfmt++) {
 	case 8:
-		sbase = "%#jo";
+		num_fmt = "%#jo";
 		break;
 	case 10:
-		sbase = "%ju";
+		num_fmt = "%ju";
 		break;
 	case 16:
-		sbase = "%#jx";
+		num_fmt = "%#jx";
 		break;
 	default:
 		goto internal;
 	}
 
 	/* Reserve space for trailing blank line if needed */
-	if (l_max > 0)
+	if (line_max > 0)
 		bufsize--;
 
-	t_len = snprintf(bp, bufsize, sbase, (uintmax_t)val);
-	if (t_len < 0)
+	total_len = snprintf(bp, bufsize, num_fmt, (uintmax_t)val);
+	if (total_len < 0)
 		goto internal;
 
-	v_len = l_len = t_len;
+	val_len = line_len = total_len;
 
-	if ((size_t)t_len < bufsize)
-		bp += t_len;
+	if ((size_t)total_len < bufsize)
+		bp += total_len;
 	else
 		bp += bufsize - 1;
 
-	/*
-	 * If the value we printed was 0 and we're using the old-style format,
-	 * we're done.
-	 */
 	if (val == 0 && ch != '\177')
-		goto terminate;
+		goto done;
 
 #define	STORE(c) do {							\
-		l_len++;						\
-		if ((size_t)(++t_len) < bufsize)			\
+		line_len++;						\
+		if ((size_t)(++total_len) < bufsize)			\
 			*bp++ = (c);					\
 	} while (0)
 
 #define	BACKUP() do {							\
-		if (s_bp != NULL) {					\
-			bp = s_bp;					\
-			s_bp = NULL;					\
-			t_len -= l_len - s_len;				\
+		if (sep_bp != NULL) {					\
+			bp = sep_bp;					\
+			sep_bp = NULL;					\
+			total_len -= line_len - sep_line_len;		\
 			restart = 1;					\
-			bitfmt = s_fmt;					\
+			bitfmt = sep_fmt;				\
 		}							\
 		STORE('>');						\
 		STORE('\0');						\
-		if ((size_t)t_len < bufsize)				\
-			snprintf(bp, bufsize - t_len, sbase, (uintmax_t)val);\
-		t_len += v_len;						\
-		l_len = v_len;						\
-		bp += v_len;						\
+		if ((size_t)total_len < bufsize)			\
+			snprintf(bp, bufsize - total_len, num_fmt,	\
+			    (uintmax_t)val);				\
+		total_len += val_len;					\
+		line_len = val_len;					\
+		bp += val_len;						\
 	} while (0)
 
 #define	PUTSEP() do {							\
-		if (l_max > 0 && (size_t)l_len >= l_max) {		\
+		if (line_max > 0 && (size_t)line_len >= line_max) {	\
 			BACKUP();					\
 			STORE('<');					\
 		} else {						\
 			/* Remember separator location */		\
-			if (l_max > 0 && sep != '<') {			\
-				s_len = l_len;				\
-				s_bp  = bp;				\
-				s_fmt = cur_fmt;			\
+			if (line_max > 0 && sep != '<') {		\
+				sep_line_len = line_len;		\
+				sep_bp = bp;				\
+				sep_fmt = cur_fmt;			\
 			}						\
 			STORE(sep);					\
 			restart = 0;					\
@@ -155,7 +151,7 @@ snprintb_m(char *buf, size_t bufsize, co
 	} while (0)
 
 #define	PUTCHR(c) do {							\
-		if (l_max > 0 && (size_t)l_len >= l_max - 1) {		\
+		if (line_max > 0 && (size_t)line_len >= line_max - 1) {	\
 			BACKUP();					\
 			if (restart == 0)				\
 				STORE(c);				\
@@ -176,22 +172,20 @@ snprintb_m(char *buf, size_t bufsize, co
 	} while (0)
 
 #define	FMTSTR(sb, f) do {						\
-		f_len = snprintf(bp, bufsize - t_len, sb, (uintmax_t)f); \
-		if (f_len < 0)						\
+		int fmt_len = snprintf(bp, bufsize - total_len, sb,	\
+		    (uintmax_t)f);					\
+		if (fmt_len < 0)					\
 			goto internal;					\
-		t_len += f_len;						\
-		l_len += f_len;						\
-		if ((size_t)t_len < bufsize)				\
-			bp += f_len;					\
+		total_len += fmt_len;					\
+		line_len += fmt_len;					\
+		if ((size_t)total_len < bufsize)			\
+			bp += fmt_len;					\
 	} while (0)
 
-	/*
-	 * Chris Torek's new bitmask format is identified by a leading \177
-	 */
 	sep = '<';
 	if (ch != '\177') {
-		/* old (standard) format. */
-		while ((bit = *bitfmt) != 0) {
+		/* old-style format, 32-bit, 1-origin. */
+		for (int bit; (bit = *bitfmt) != 0;) {
 			cur_fmt = bitfmt++;
 			if (val & (1U << (bit - 1))) {
 				PUTSEP();
@@ -199,7 +193,7 @@ snprintb_m(char *buf, size_t bufsize, co
 					continue;
 				sep = ',';
 				for (; (ch = *bitfmt) > ' '; ++bitfmt) {
-					PUTCHR(ch); 
+					PUTCHR(ch);
 					if (restart)
 						break;
 				}
@@ -208,10 +202,11 @@ snprintb_m(char *buf, size_t bufsize, co
 					continue;
 		}
 	} else {
-		/* new quad-capable format; also does fields. */
-		field = val;
+		/* new-style format, 64-bit, 0-origin; also does fields. */
+		uint64_t field = val;
+		int matched = 1;
 		while (c_fmt = bitfmt, (ch = *bitfmt++) != '\0') {
-			bit = *bitfmt++;	/* now 0-origin */
+			int bit = *bitfmt++;
 			switch (ch) {
 			case 'b':
 				if (((val >> bit) & 1) == 0)
@@ -228,9 +223,9 @@ snprintb_m(char *buf, size_t bufsize, co
 			case 'F':
 				matched = 0;
 				cur_fmt = c_fmt;
-				f_len = *bitfmt++;	/* field length */
+				int field_width = *bitfmt++;
 				field = (val >> bit) &
-				    (((uint64_t)1 << f_len) - 1);
+				    (((uint64_t)1 << field_width) - 1);
 				PUTSEP();
 				if (restart == 0)
 					sep = ',';
@@ -245,8 +240,9 @@ snprintb_m(char *buf, size_t bufsize, co
 				if (restart == 0)
 					PUTCHR('=');
 				if (restart == 0) {
-					FMTSTR(sbase, field);
-					if (l_max > 0 && (size_t)l_len > l_max)
+					FMTSTR(num_fmt, field);
+					if (line_max > 0
+					    && (size_t)line_len > line_max)
 						PUTCHR('#');
 				}
 				break;
@@ -282,17 +278,17 @@ snprintb_m(char *buf, size_t bufsize, co
 	}
 	if (sep != '<')
 		STORE('>');
-terminate:
-	if (l_max > 0) {
+done:
+	if (line_max > 0) {
 		bufsize++;
 		STORE('\0');
-		if ((size_t)t_len >= bufsize && bufsize > 1)
+		if ((size_t)total_len >= bufsize && bufsize > 1)
 			buf[bufsize - 2] = '\0';
 	}
 	STORE('\0');
-	if ((size_t)t_len >= bufsize && bufsize > 0)
+	if ((size_t)total_len >= bufsize && bufsize > 0)
 		buf[bufsize - 1] = '\0';
-	return t_len - 1;
+	return total_len - 1;
 internal:
 #ifndef _KERNEL
 	errno = EINVAL;

Reply via email to