Module Name: src
Committed By: rillig
Date: Fri Feb 16 19:31:25 UTC 2024
Modified Files:
src/common/lib/libutil: snprintb.c
Log Message:
snprintb: use size_t for buffer sizes and positions
To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 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.31 src/common/lib/libutil/snprintb.c:1.32
--- src/common/lib/libutil/snprintb.c:1.31 Fri Feb 16 19:20:38 2024
+++ src/common/lib/libutil/snprintb.c Fri Feb 16 19:31:25 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: snprintb.c,v 1.31 2024/02/16 19:20:38 rillig Exp $ */
+/* $NetBSD: snprintb.c,v 1.32 2024/02/16 19:31:25 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.31 2024/02/16 19:20:38 rillig Exp $");
+__RCSID("$NetBSD: snprintb.c,v 1.32 2024/02/16 19:31:25 rillig Exp $");
# endif
# include <sys/types.h>
@@ -51,7 +51,7 @@ __RCSID("$NetBSD: snprintb.c,v 1.31 2024
# include <errno.h>
# else /* ! _KERNEL */
# include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: snprintb.c,v 1.31 2024/02/16 19:20:38 rillig Exp $");
+__KERNEL_RCSID(0, "$NetBSD: snprintb.c,v 1.32 2024/02/16 19:31:25 rillig Exp $");
# include <sys/param.h>
# include <sys/inttypes.h>
# include <sys/systm.h>
@@ -65,7 +65,6 @@ snprintb_m(char *buf, size_t bufsize, co
{
char *bp = buf, *sep_bp = NULL;
const char *num_fmt, *cur_bitfmt, *sep_bitfmt = NULL;
- int total_len, val_len, line_len, sep_line_len = 0;
char sep;
int restart = 0;
@@ -98,20 +97,20 @@ snprintb_m(char *buf, size_t bufsize, co
if (line_max > 0)
bufsize--;
- total_len = snprintf(bp, bufsize, num_fmt, (uintmax_t)val);
- if (total_len < 0)
+ int val_len = snprintf(bp, bufsize, num_fmt, (uintmax_t)val);
+ if (val_len < 0)
goto internal;
- val_len = line_len = total_len;
+ size_t total_len = val_len, line_len = val_len, sep_line_len = 0;
- if ((size_t)total_len < bufsize)
+ if (total_len < bufsize)
bp += total_len;
else
bp += bufsize - 1;
#define STORE(c) do { \
line_len++; \
- if ((size_t)(++total_len) < bufsize) \
+ if (++total_len < bufsize) \
*bp++ = (c); \
} while (0)
@@ -125,7 +124,7 @@ snprintb_m(char *buf, size_t bufsize, co
} \
STORE('>'); \
STORE('\0'); \
- if ((size_t)total_len < bufsize) \
+ if (total_len < bufsize) \
snprintf(bp, bufsize - total_len, num_fmt, \
(uintmax_t)val); \
total_len += val_len; \
@@ -134,7 +133,7 @@ snprintb_m(char *buf, size_t bufsize, co
} while (0)
#define PUTSEP() do { \
- if (line_max > 0 && (size_t)line_len >= line_max) { \
+ if (line_max > 0 && line_len >= line_max) { \
BACKUP(); \
STORE('<'); \
} else { \
@@ -150,7 +149,7 @@ snprintb_m(char *buf, size_t bufsize, co
} while (0)
#define PUTCHR(c) do { \
- if (line_max > 0 && (size_t)line_len >= line_max - 1) { \
+ if (line_max > 0 && line_len >= line_max - 1) { \
BACKUP(); \
if (restart == 0) \
STORE(c); \
@@ -171,14 +170,14 @@ snprintb_m(char *buf, size_t bufsize, co
} while (0)
#define FMTSTR(sb, f) do { \
- size_t n = (size_t)total_len < bufsize \
+ size_t n = total_len < bufsize \
? bufsize - total_len : 0; \
int fmt_len = snprintf(bp, n, sb, (uintmax_t)f); \
if (fmt_len < 0) \
goto internal; \
total_len += fmt_len; \
line_len += fmt_len; \
- if ((size_t)total_len < bufsize) \
+ if (total_len < bufsize) \
bp += fmt_len; \
} while (0)
@@ -243,7 +242,7 @@ snprintb_m(char *buf, size_t bufsize, co
if (restart == 0) {
FMTSTR(num_fmt, field);
if (line_max > 0
- && (size_t)line_len > line_max)
+ && line_len > line_max)
PUTCHR('#');
}
break;
@@ -282,13 +281,13 @@ snprintb_m(char *buf, size_t bufsize, co
if (line_max > 0) {
bufsize++;
STORE('\0');
- if ((size_t)total_len >= bufsize && bufsize > 1)
+ if (total_len >= bufsize && bufsize > 1)
buf[bufsize - 2] = '\0';
}
STORE('\0');
- if ((size_t)total_len >= bufsize && bufsize > 0)
+ if (total_len >= bufsize && bufsize > 0)
buf[bufsize - 1] = '\0';
- return total_len - 1;
+ return (int)(total_len - 1);
internal:
#ifndef _KERNEL
errno = EINVAL;