Commit Graph

136 Commits

Author SHA1 Message Date
bde
0911a23bee When we return from a "show" function without printing anything except
a warning, return 1 instead of 0 to indicate that we didn't print
anything, so that top-level callers don't print a spurious newline.
This is mainly to fix output formatting when stderr is redirected.  It
also helps in some cases when stderr is interleaved with stdout,
depending on the details of the interleaving (this program has the
usual null explicit support for syncing stderr with stdout).

Return 1 instead of -1 after printing the "malloc failed" warning, since
the return value is boolean.
2007-06-11 13:02:15 +00:00
dwmalone
d2175cf9a0 Some improvements to the int-type printing code based on suggestions by bde. 2007-06-10 20:11:52 +00:00
dwmalone
ea0e481347 Fix a number of WARNS, including printf, constness and unsigned comparison
warnings.
2007-06-10 19:32:20 +00:00
dwmalone
c7c44f3cc8 Some style improvements suggested by bde, including removing an
unused include, adding parens for return and sizeof and renaming,
adding some missing whitespace and sorting some variables.
2007-06-10 19:13:40 +00:00
dwmalone
79a4f2f433 Use common code for printing ints and longs by coppying the sysctl
value into a variable of the right type and then printing it via
an intmax_t. This makes avoids some duplication and makes it easy
to add a new integer format Q for printing things of type CTLTYPE_QUAD.
2007-06-04 18:02:23 +00:00
imp
9e691e8708 Style: Shorten a couple of lines with u_int and u_long. 2006-12-10 06:36:41 +00:00
ru
3b8270a3d5 - Revert signedness type changes to "struct vmtotal"; by making
them unsigned I made the possible overflows hard to detect,
  and it only saved 1 bit which isn't principal, even less now
  that the underlying issue with the total of virtual memory has
  been fixed.  (For the record, it will overflow with >=2T of
  VM total, with 32-bit ints used to keep counters in pages.)

- While here, fix printing of other "struct vmtotal" members
  such as t_rq, t_dw, t_pw, and t_sw as they are also signed.

Reviewed by:	bde
MFC after:	3 days
2006-11-28 12:46:02 +00:00
ru
75d7b09c83 Fix the format specifier suitable for uintmax_t. 2006-11-23 11:51:23 +00:00
ru
1ea77e90a7 - Fix types of "struct vmmeter" members so they are unsigned.
- Fix overflow bugs in sysctl(8), systat(1), and vmstat(8)
  when printing values of "struct vmmeter" in kilobytes as
  they don't necessarily fit into 32 bits.  (Fix sysctl(8)
  reporting of a total virtual memory; it's in pages too.)
2006-11-20 16:04:41 +00:00
harti
df4d111068 Remove a debugging statement from the previous commit. 2006-10-12 15:44:51 +00:00
harti
f3ea6df168 Don't free the buffer with the sysctl value before printing it. 2006-10-12 15:31:23 +00:00
ru
a91c39740f While convenient, avoid using alloca() for reasons specified in
the BUGS section of the alloca(3) manpage.  In particular, when
the number of TCP sockets is several tens of thousand, trying to
"sysctl -a" would SIGSEGV on the net.inet.tcp.pcblist entry (it
would exceed the stacksize ulimit, in an undetectable manner).

Reported by:	Igor Sysoev
2006-09-06 20:15:43 +00:00
ume
d5da60dc31 Support Celsius (nn.nC), Fahrenheit (nn.nF) and Kelvin (nnnn) to
specify temperature.

Reviewed by:	njl
MFC after:	3 days
2006-09-03 15:10:04 +00:00
ru
a6794a47d1 Fix printing of integer Kelvins broken in rev. 1.71, which is
fatal on sizeof(int) != sizeof(long) systems (such as amd64).

MFC after:	1 day
2006-08-15 13:32:39 +00:00
obrien
f6dcb46835 Add an extension to the UINT & ULONG types. The XINT & XLONG types behave
the same, except sysctl(8) will print out the values in hex.
2006-08-12 23:33:10 +00:00
njl
844254bd87 Use floating point instead of hacking something together. Suggested by
bde@.  Fix nearby int conversion and a couple style bugs.

MFC after:	1 day
2006-08-04 07:31:55 +00:00
njl
bfbd4eba2c Fix printing of negative decimal values in Kelvin to Celsius conversion.
MFC after:	3 days
2006-07-25 02:28:43 +00:00
ru
fe33e2f3a0 Add -q to usage(). 2005-12-01 21:59:24 +00:00
ru
4de1ee30af -mdoc sweep. 2005-11-18 10:36:29 +00:00
rwatson
f62b675f2b Add "-q" argument to sysctl(8), which suppresses a limited set of warnings/
errors generated.  In particular, it suppresses "unknown oid" when
attempting to get or set a sysctl not present in the kernel.

MFC after:	1 week
2005-09-15 16:08:04 +00:00
brueffer
2a75eb6afb - Remove MLINKS to nonexistant manpages
- Change some section numbers to match reality
- For MLINKS to manpages from ports, mention which port installs them

MFC after:	3 days
2005-07-14 20:29:08 +00:00
mdodd
4aeb6a67e2 Show descriptions for type CTLTYPE_NODES. 2005-04-13 06:59:07 +00:00
mdodd
d7cdbc0750 Zero buffers. Seatbelt against sysctl(3) returning non-NUL terminated
string data.
2005-04-13 06:56:31 +00:00
ru
719be5d341 Sync program's usage() with manpage's SYNOPSIS. 2005-02-10 09:19:34 +00:00
ssouhlal
cae4e5e935 Get rid of a NULL dereference when oid is too long.
Reviewed by:	keramida
Approved by:	grehan (mentor)
MFC after:	1 week
2005-01-25 14:37:43 +00:00
ru
13fe9ea5a2 Sort sections. 2005-01-18 10:09:38 +00:00
ru
c56f1c1871 Scheduled mdoc(7) sweep. 2005-01-10 16:17:34 +00:00
hmp
8f9a2ff959 Code for automatic name completion in a tcsh(1) environment.
PR:		docs/44435
Submitted by:	Slaven Rezic slaven dot rezic at berlin dot de
2004-12-05 23:44:52 +00:00
le
91a280661a Use correct format string.
Submitted by:   ssouhlal
2004-09-17 17:08:44 +00:00
peter
78508cab26 Add a suffix descriptor for the acpi thermal values as a hint for the userland
sysctl tool to print a more readable value for temperatures.
2004-08-30 22:42:10 +00:00
markm
90f91e7879 Remove advertising clause from University of California Regent's license,
per letter dated July 22, 1999.

Approved by: core, imp
2004-04-09 19:58:40 +00:00
dd
ae9f26fffc Add CTLTYPE_QUAD to the list of types for which we don't want an empty
value.  All the other numeric types are doing it . . .
2004-03-02 05:42:52 +00:00
johan
31854a224a style.Makefile(5):
Use WARNS?= instead of WARNS=.
2004-02-23 20:25:27 +00:00
des
3ae98c3080 Alphabetization braino.
Pointed out by:	johan
2003-11-07 21:28:29 +00:00
des
0fe3c6c774 Whitespace cleanup. 2003-11-07 16:41:47 +00:00
des
cc86362753 Add a command-line option to format output for human readability.
Currently, the only effect it has is to print some (but not all) numbers
using thousands separators.
2003-11-07 16:33:45 +00:00
silby
2cedc070de Fix a few style glitches in the previous commit and make the
tunable error message more brief.

Suggested by:	bde
2003-11-01 07:06:04 +00:00
peter
96896379b8 Fix a 64 bit warning. Have set_T_dev_t() take a pointer to a size_t rather
than a pointer to an int, since that is what it really wants anyway.
2003-10-26 04:45:08 +00:00
silby
42091b18e2 Wrap a long line in the previous commit
Suggested by:	njl
2003-10-21 18:48:49 +00:00
silby
62679efced Have sysctl print out a more useful error message when it detects that the
user has attempted to write to a read only, tunable value.
2003-10-21 16:49:30 +00:00
ru
1c23ef339b mdoc(7): Use the new feature of the .In macro. 2003-09-08 19:57:22 +00:00
rwatson
0980582084 Tighten up the string->integer conversion in sysctl(8):
(1) Reject zero-length strings for CTLTYPE_INT, _UINT, _LONG,
    _ULONG.  Do not silently convert to 0.

(2) When converting CTLTYPE_INT, _UINT, _LONG, and _ULONG, check the
    end pointer generated by strtol() and strtoul() rather than
    discarding it.  Reject the string if either none of the string
    was useful for conversion to an integer, or if there was
    trailing garbage.

I.e., we will not allow you to set a numeric sysctl to a value unless
we can completely convert the string argument to a numeric value.
I tripped over this when I put the following in /etc/sysctl.conf:

   kern.maxfiles="4000"

Ouch.
2003-06-15 06:26:08 +00:00
charnier
ac0a573e87 .Nm -> .Xr 2003-06-08 12:57:39 +00:00
brueffer
01516ccfd4 Clarify setting sysctl variables via loader(8) tunables
* s/can not/cannot/

Submitted by:	ru (*)
Approved by:	re (rwatson)
2003-05-18 00:27:02 +00:00
brueffer
f8918f9a1c Add information about setting sysctl variables via loader(8) and
loader.conf(5)

PR:		38426 (slightly modified)
Submitted by:	Phil Pennock <pdp@nl.demon.net>
Approved by:	re (bmah)
MFC after:	3 days
2003-05-17 01:01:03 +00:00
tjr
12e53fb981 This file does not seem to serve any purpose. It has never been hooked up
to the build, and performs a subset of the functionality that the getconf(1)
utility performs.
2003-04-28 00:38:48 +00:00
phk
383d50b298 Output machdep.guessed_bootdev as an integer rather than try to format
it according to ancient and obsolete rules.

This removes one more user of <sys/diskslice.h>
2003-04-03 21:41:14 +00:00
peter
568a1c8f96 Fix what I think is an off-by-one in certain worst-case scenarios
caused by rev 1.45.  (eg: the estimate being exactly half of the result.)
2003-01-22 00:34:22 +00:00
dillon
8eb42e5ece Cleanup the formatting from the last commit, convert everything to
a more human-readable 'kilobytes' instead of pages.
2003-01-11 20:03:43 +00:00
dillon
187e654d9a Make 'sysctl vm.vmtotal' work properly using updated patch from Hiten.
(the patch in the PR was stale).

PR:             kern/5689
Submitted by:   Hiten Pandya <hiten@unixdaemons.com>
2003-01-11 07:29:47 +00:00