Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sbin/rndctl rndctl: make -l's "Flags" field reflect current ...
details: https://anonhg.NetBSD.org/src/rev/54c2068630a0
branches: trunk
changeset: 954217:54c2068630a0
user: nia <nia%NetBSD.org@localhost>
date: Fri Apr 02 07:17:56 2021 +0000
description:
rndctl: make -l's "Flags" field reflect current reality
don't print "legacy options" RND_FLAG_ESTIMATE_TIME and
"RND_FLAG_ESTIMATE_VALUE"
only print "estimate" if we have actually counted any bits from
something, since it's no longer really possible to "enable estimation".
ideally, there should also be a "samples" field so it's clear
collected bits are not being counted.
diffstat:
sbin/rndctl/rndctl.c | 26 ++++++++++----------------
1 files changed, 10 insertions(+), 16 deletions(-)
diffs (80 lines):
diff -r 99e057fe70ad -r 54c2068630a0 sbin/rndctl/rndctl.c
--- a/sbin/rndctl/rndctl.c Fri Apr 02 07:09:11 2021 +0000
+++ b/sbin/rndctl/rndctl.c Fri Apr 02 07:17:56 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: rndctl.c,v 1.37 2020/05/12 09:48:44 simonb Exp $ */
+/* $NetBSD: rndctl.c,v 1.38 2021/04/02 07:17:56 nia Exp $ */
/*-
* Copyright (c) 1997 Michael Graff.
@@ -31,7 +31,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: rndctl.c,v 1.37 2020/05/12 09:48:44 simonb Exp $");
+__RCSID("$NetBSD: rndctl.c,v 1.38 2021/04/02 07:17:56 nia Exp $");
#endif
#include <sys/param.h>
@@ -75,7 +75,7 @@
static u_int32_t find_type(const char *name);
static const char *find_name(u_int32_t);
static void do_ioctl(rndctl_t *);
-static char * strflags(u_int32_t);
+static char * strflags(uint32_t, u_int32_t);
static void do_list(int, u_int32_t, char *);
static void do_stats(void);
@@ -444,29 +444,21 @@
}
static char *
-strflags(u_int32_t fl)
+strflags(uint32_t totalbits, u_int32_t fl)
{
static char str[512];
str[0] = '\0';
- if (fl & RND_FLAG_NO_ESTIMATE)
- ;
- else
+ if (totalbits > 0 && (fl & RND_FLAG_NO_ESTIMATE) == 0)
strlcat(str, "estimate, ", sizeof(str));
- if (fl & RND_FLAG_NO_COLLECT)
- ;
- else
+ if ((fl & RND_FLAG_NO_COLLECT) == 0)
strlcat(str, "collect, ", sizeof(str));
if (fl & RND_FLAG_COLLECT_VALUE)
strlcat(str, "v, ", sizeof(str));
if (fl & RND_FLAG_COLLECT_TIME)
strlcat(str, "t, ", sizeof(str));
- if (fl & RND_FLAG_ESTIMATE_VALUE)
- strlcat(str, "dv, ", sizeof(str));
- if (fl & RND_FLAG_ESTIMATE_TIME)
- strlcat(str, "dt, ", sizeof(str));
if (str[strlen(str) - 2] == ',')
str[strlen(str) - 2] = '\0';
@@ -500,7 +492,8 @@
rstat_name.source.rt.name,
rstat_name.source.rt.total,
find_name(rstat_name.source.rt.type),
- strflags(rstat_name.source.rt.flags));
+ strflags(rstat_name.source.rt.total,
+ rstat_name.source.rt.flags));
if (vflag) {
printf("\tDt samples = %d\n",
rstat_name.source.dt_samples);
@@ -538,7 +531,8 @@
rstat.source[i].rt.name,
rstat.source[i].rt.total,
find_name(rstat.source[i].rt.type),
- strflags(rstat.source[i].rt.flags));
+ strflags(rstat.source[i].rt.total,
+ rstat.source[i].rt.flags));
if (vflag) {
printf("\tDt samples = %d\n",
rstat.source[i].dt_samples);
Home |
Main Index |
Thread Index |
Old Index