Module Name: src
Committed By: riastradh
Date: Tue Aug 30 22:37:03 UTC 2022
Modified Files:
src/sys/ddb: db_lex.c db_lex.h
Log Message:
ddb(9): New db_num_to_strbuf.
Like db_num_to_str, but writes to caller-provided buffer instead of
returning pointer to static storage.
To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/sys/ddb/db_lex.c
cvs rdiff -u -r1.16 -r1.17 src/sys/ddb/db_lex.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/ddb/db_lex.c
diff -u src/sys/ddb/db_lex.c:1.26 src/sys/ddb/db_lex.c:1.27
--- src/sys/ddb/db_lex.c:1.26 Wed Jul 29 23:29:42 2020
+++ src/sys/ddb/db_lex.c Tue Aug 30 22:37:03 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: db_lex.c,v 1.26 2020/07/29 23:29:42 uwe Exp $ */
+/* $NetBSD: db_lex.c,v 1.27 2022/08/30 22:37:03 riastradh Exp $ */
/*
* Mach Operating System
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_lex.c,v 1.26 2020/07/29 23:29:42 uwe Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_lex.c,v 1.27 2022/08/30 22:37:03 riastradh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -172,14 +172,21 @@ db_num_to_str(db_expr_t val)
*/
static char buf[25];
+ db_num_to_strbuf(val, buf, sizeof(buf));
+
+ return (buf);
+}
+
+void
+db_num_to_strbuf(db_expr_t val, char *buf, size_t len)
+{
+
if (db_radix == 16)
- snprintf(buf, sizeof(buf), "%" DDB_EXPR_FMT "x", val);
+ snprintf(buf, len, "%" DDB_EXPR_FMT "x", val);
else if (db_radix == 8)
- snprintf(buf, sizeof(buf), "%" DDB_EXPR_FMT "o", val);
+ snprintf(buf, len, "%" DDB_EXPR_FMT "o", val);
else
- snprintf(buf, sizeof(buf), "%" DDB_EXPR_FMT "u", val);
-
- return (buf);
+ snprintf(buf, len, "%" DDB_EXPR_FMT "u", val);
}
void
Index: src/sys/ddb/db_lex.h
diff -u src/sys/ddb/db_lex.h:1.16 src/sys/ddb/db_lex.h:1.17
--- src/sys/ddb/db_lex.h:1.16 Wed Jul 29 23:29:42 2020
+++ src/sys/ddb/db_lex.h Tue Aug 30 22:37:03 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: db_lex.h,v 1.16 2020/07/29 23:29:42 uwe Exp $ */
+/* $NetBSD: db_lex.h,v 1.17 2022/08/30 22:37:03 riastradh Exp $ */
/*
* Mach Operating System
@@ -34,6 +34,7 @@
*/
void db_flush_lex(void);
char *db_num_to_str(db_expr_t);
+void db_num_to_strbuf(db_expr_t, char *, size_t);
int db_read_line(void);
void db_set_line(const char *, const char *);
void db_get_line(const char **, const char **);