History log of /freebsd-current/usr.bin/top/utils.c
Revision Date Author Comments
# b3e76948 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: two-line .h pattern

Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/


# 738b2d5c 18-Nov-2019 Mark Johnston <markj@FreeBSD.org>

Add a "B" suffix to memory quantities in top(1) output.

Otherwise small quantities look nonsensical. For instance, when
swapping in a single page we would print "4096 In".

Fix code indentation while here.

MFC after: 1 week
Sponsored by: The FreeBSD Foundation


# 2f301637 10-Feb-2019 Dimitry Andric <dim@FreeBSD.org>

Fix multiple warnings in usr.bin/top about variables shadowing global
declarations from base gcc, by renaming those variables.

MFC after: 1 week


# d0f687d3 10-Feb-2019 Dimitry Andric <dim@FreeBSD.org>

Fix multiple warnings in usr.bin/top about discarded qualifiers from
both clang and gcc, by either constifying variables, or when that is not
possible, using __DECONST.

MFC after: 1 week


# 10550f0b 25-Jul-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): increase number of columns for memory

The original intention was 4 columns but with a usable a result. In
practice this was not the case. Increase the number of columns to 5
until humanize_number learns alternative ways of presenting the number.

Requested by: many
Ref D15801


# 74521224 09-Jul-2018 Daichi GOTO <daichi@FreeBSD.org>

top(1): rollback r335836

Encoding-specific processing introduced in r335836 is not recommended.
And doing getenv("LANG") and assuming an encoding based on it is a
very bad practice to internationalize software.

Submitted by: hrs
Differential Revision: https://reviews.freebsd.org/D16203


# c6dc704e 03-Jul-2018 Ruslan Bukin <br@FreeBSD.org>

Fix build: utf8strvisx() does signed data comparisons, but 'char' type
is unsigned in riscv GCC, so use guaranted signed char type.

Sponsored by: DARPA, AFRL


# 4417ed2d 30-Jun-2018 Daichi GOTO <daichi@FreeBSD.org>

top(1) - support UTF-8 display

Reviewed by: eadler
Approved by: gnn (mentor)
Differential Revision: https://reviews.freebsd.org/D16006


# 51c834c4 22-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): reimplement header formatting as sbuf

The current header formatting is a giant format string that changes
global state during the format process.

Make the following changes:
- use sbuf to build up the header rather than use the above
pseudo-dynamic one
- Change name length to 10
- Reduce size of RES and SIZE by making humanize more aggressive
- Restore a version number line to the copyright. This may be required
by the copyright (and may not be; its unclear)

This is also a pre-req to implementing TOPCOLOR from newer versions of
top(1)

Discussed with: allanjude, rpolka, danfe, rgrimes
Differential Revision: https://reviews.freebsd.org/D15801


# f7642433 13-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): remove unneeded logic

- remove __pure annotations I added earlier for some functions. One
writes to the the arguments as "out" pointers. The
other reads from an array, which while const within the function might
be mutated externally.
- total_change is modified to be at 1, if previously 0, so no if check
is needed.


# 1de63842 13-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): style(9)

- split return type from function name
- Sprinkle a __pure where possible.


# d1862666 13-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): add myself to authors

At this point I've mucked enough with top(1) that all bugs should be
blamed on me rather than William LeFebvre.


# c655e639 13-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): shift from atoi to non-deprecated function


# 704daa9b 13-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): replace homegrown itoa with sprintf

Much of this should be inlined to the callsite, but leave it here for
now to make it easier to make it easier bisect later.


# 8e4b205e 13-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): format_time, format_k, etc.

- Use humanize_number for format_k and format_k2
- Fix some style nits in format_time


# 0ff79d81 12-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): remove trailing whitespace


# ccf22059 12-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): style and related

- style(9)
- remove now-defunct comments
- remove getuid check for low delay
- expand range of format_k


# fb7b896c 10-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): handle 0 in "digits" functions


# 6e0632db 09-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): correctly reset per-cpu counters

I had changed this from a for loop to a memset during an earlier
cleanup. This change was incorrect so revert it.

While here, clean up

Reported by: flo


# d408c8f7 07-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): fix several style & const related issues

- use parens for return
- put function names on newline
- sprinkle const where possible


# a9a99372 03-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): Use strsep instead of homegrown alternative

This replaces some complex, and not quite correct logic, with a more
common strsep pattern.

Reviewed by: mmacy (older version)


# eae589f1 03-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): another pass of cleanup

- avoid the need to call a function to get size of known array. I'll
likely re-arrange some of the indirect in a later to avoid the magic
constants.
- use correct type
- add const
- replace caddr_t with void*. This corrects an alignment warning.
- remove duplicated include from immediately prior commit

Under base clang we're now down to:
- 3 warning in top.c, 1 warning in mahcine.c, 4 warning in display.c,
- 1 warning in utils.c

Tested with base clang, gcc7, gcc9, base gcc (mips)


# 9f8096e3 03-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): top warnings and cleanup

- Add const where helpful
- add missing 'static' for file-local functions
- use nitems where possible
- convert manual abort() to assert
- use strndup instead of homegrown version

Tested with clang, gcc7, and gcc9


# 01a55f00 02-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): partial revert of r334517

In fixing issues with uid > INT_MAX, I broke the uid without username
case. The latter is more important so return the old state.

Discussed with: allanjude


# d0bb69dc 02-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): misc minor improvements

- use bool instead of int [0]
- use calloc correctly [0]
(this also caught an incorrect sizeof argument) [1]
- use size_t over int [2]
- correct style

Reported by: pfg [0], scan-build [1], gcc [2]


# 4fedcd49 02-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): cleanup memory allocation and warnings

- Prefer calloc over malloc. This is more predicable and we're not in a
performance sensitive context. [1]
- Remove bogus comment (obsolete from prior commit). [2]
- Remove void casts and type casts of NULL
- Remove redundant declaration of 'quit'
- Add additional const

Reported by: kib [1], vangyzen [2]


# 51b29cb7 02-Jun-2018 Roman Bogorodskiy <novel@FreeBSD.org>

top: add -p option and p command to only show a single process

Allow to show only a single process specified by PID. This could
be done either by running top like 'top -p PID' or using the 'p' command
inside top.

Reviewed by: eadler
Approved by: eadler
Obtained from: OpenBSD
Differential Revision: https://reviews.freebsd.org/D15501


# b274c68a 02-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

Use stpcpy instead of home grown solution


# 66b3f031 01-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): const poison

top(1) has a number of issues with writing to const strings. Begin
helping this along by marking easy cases as const.


# 19789395 01-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): Use uid_t for uid rather than 'int'

Remove unneeded define while here.


# f6234b51 01-Jun-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): ansify, style(9). and nits

- Prefer using ansi prototypes rather than C prototypes
- Keep type on separate line from name of function
- Try to keep things const where possible. This will help get to WARNS=6
- switch to "bool" where it makes sense


# 9aeb8f99 20-May-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): add myself as a MAINTAIENR

also fix some nits


# a5ca08ed 20-May-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): fix several more warnings


# b3c88c28 19-May-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): Quiesce several warnings

This is all warnings at level six (6) that are not
char-subscripts, incompatible-pointer-types,
sign-compare, switch, int-conversion,
missing-variable-declarations, cast-qual, cast-align

Some warnings that are fixed by this commit are:
shadow, strict-prototypes, missing-prototypes, pointer-arith,
unused-parameter, unused-const-variable, and several others


# 98c299e0 19-May-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): remove use of 'register' keyword

This keyword is meaningless is obscures future diffs that help clear up
warnings in top.


# caee4883 19-May-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): unconditionally assume we are running on FreeBSD

This allows us to remove a special header and more specifically just the
system headers we want.


# 946e91ab 19-May-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): assume that we're building on FreeBSD

This allows us to avoid the ifdefs that we set unconditionally.


# 3be6ef06 19-May-2018 Eitan Adler <eadler@FreeBSD.org>

top(1): Migrate top to usr.bin

We've been maintaining top(1) for a long time, and the upstream
hasn't existed/been used in similarly as long. Make it clear that we own
top(1)

Tested with 'make universe'. Everything passed except MIPS which failed
for unrelated reasons. Install also tested for amd64.

Reviewed by: sbruno
No objections: imp, mmacy
Differential Revision: https://reviews.freebsd.org/D15387