Date: Mon, 21 May 2018 00:53:42 +0000 (UTC) From: Eitan Adler <eadler@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r333951 - head/usr.bin/top Message-ID: <201805210053.w4L0rgMI087917@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: eadler Date: Mon May 21 00:53:42 2018 New Revision: 333951 URL: https://svnweb.freebsd.org/changeset/base/333951 Log: top(1): clean much of WARNS=3 issues There is still one glaring issue: new_message is not a protoype, but can't be trivially converted since it uses K&R style var-args. Modified: head/usr.bin/top/display.c head/usr.bin/top/display.h head/usr.bin/top/machine.c head/usr.bin/top/screen.c head/usr.bin/top/screen.h head/usr.bin/top/top.c Modified: head/usr.bin/top/display.c ============================================================================== --- head/usr.bin/top/display.c Mon May 21 00:51:30 2018 (r333950) +++ head/usr.bin/top/display.c Mon May 21 00:53:42 2018 (r333951) @@ -92,9 +92,9 @@ static int cpustates_column; static enum { OFF, ON, ERASE } header_status = ON; -static int string_count(); -static void summary_format(); -static void line_update(); +static int string_count(char **); +static void summary_format(char *, int *, char **); +static void line_update(char *, char *, int, int); int x_lastpid = 10; int y_lastpid = 0; @@ -1041,11 +1041,9 @@ int hi; } void -display_header(t) - -int t; - +display_header(int t) { + if (t) { header_status = ON; @@ -1058,17 +1056,12 @@ int t; /*VARARGS2*/ void -new_message(type, msgfmt, a1, a2, a3) - -int type; -char *msgfmt; -caddr_t a1, a2, a3; - +new_message(int type, char *msgfmt, caddr_t a1, caddr_t a2, caddr_t a3) { int i; /* first, format the message */ - (void) snprintf(next_msg, sizeof(next_msg), msgfmt, a1, a2, a3); + snprintf(next_msg, sizeof(next_msg), msgfmt, a1, a2, a3); if (msglen > 0) { @@ -1196,10 +1189,7 @@ int numeric; /* internal support routines */ -static int string_count(pp) - -char **pp; - +static int string_count(char **pp) { int cnt; @@ -1211,12 +1201,7 @@ char **pp; return(cnt); } -static void summary_format(str, numbers, names) - -char *str; -int *numbers; -char **names; - +static void summary_format(char *str, int *numbers, char **names) { char *p; int num; Modified: head/usr.bin/top/display.h ============================================================================== --- head/usr.bin/top/display.h Mon May 21 00:51:30 2018 (r333950) +++ head/usr.bin/top/display.h Mon May 21 00:53:42 2018 (r333951) @@ -1,3 +1,4 @@ +/* $FreeBSD$ */ /* constants needed for display.c */ /* "type" argument for new_message function */ @@ -27,7 +28,7 @@ void i_swap(int *stats); void i_timeofday(time_t *tod); void i_uptime(struct timeval *bt, time_t *tod); void new_message(); -int readline(char *buffer, int size, int numeric); +int readline(char *buffer, int size, int numeric); char *trim_header(char *text); void u_arc(int *stats); void u_carc(int *stats); Modified: head/usr.bin/top/machine.c ============================================================================== --- head/usr.bin/top/machine.c Mon May 21 00:51:30 2018 (r333950) +++ head/usr.bin/top/machine.c Mon May 21 00:53:42 2018 (r333951) @@ -27,6 +27,7 @@ #include <sys/user.h> #include <sys/vmmeter.h> +#include <assert.h> #include <err.h> #include <kvm.h> #include <math.h> @@ -460,6 +461,8 @@ format_header(char *uname_field) jidlength, ps.jail ? " JID" : "", namelength, namelength, uname_field); break; + case DISP_MAX: + assert("displaymode must not be set to DISP_MAX"); } cmdlengthdelta = strlen(Header) - 7; return (Header); @@ -624,7 +627,7 @@ get_system_info(struct system_info *si) * XXX: this could be done when the actual processes are fetched, we do * it here out of laziness. */ -const struct kinfo_proc * +static const struct kinfo_proc * get_old_proc(struct kinfo_proc *pp) { struct kinfo_proc **oldpp, *oldp; @@ -667,7 +670,7 @@ get_old_proc(struct kinfo_proc *pp) * Return the total amount of IO done in blocks in/out and faults. * store the values individually in the pointers passed in. */ -long +static long get_io_stats(struct kinfo_proc *pp, long *inp, long *oup, long *flp, long *vcsw, long *ivcsw) { @@ -741,7 +744,7 @@ proc_used_cpu(struct kinfo_proc *pp) /* * Return the total number of block in/out and faults by a process. */ -long +static long get_io_total(struct kinfo_proc *pp) { long dummy; @@ -932,7 +935,8 @@ format_next_process(caddr_t xhandle, char *(*get_useri double pct; struct handle *hp; char status[16]; - int cpu, state; + int cpu; + size_t state; struct rusage ru, *rup; long p_tot, s_tot; char *proc_fmt, thr_buf[6]; @@ -995,7 +999,7 @@ format_next_process(caddr_t xhandle, char *(*get_useri state < sizeof(state_abbrev) / sizeof(*state_abbrev)) sprintf(status, "%.6s", state_abbrev[state]); else - sprintf(status, "?%5d", state); + sprintf(status, "?%5lu", state); break; } @@ -1359,8 +1363,8 @@ static int sorted_state[] = { /* compare_cpu - the comparison function for sorting by cpu percentage */ -int -compare_cpu(void *arg1, void *arg2) +static int +compare_cpu(const void *arg1, const void *arg2) { struct kinfo_proc *p1 = *(struct kinfo_proc **)arg1; struct kinfo_proc *p2 = *(struct kinfo_proc **)arg2; @@ -1376,17 +1380,24 @@ compare_cpu(void *arg1, void *arg2) } /* "cpu" compare routines */ -int compare_size(), compare_res(), compare_time(), compare_prio(), - compare_threads(); +static int compare_size(const void *arg1, const void *arg2); +static int compare_res(const void *arg1, const void *arg2); +static int compare_time(const void *arg1, const void *arg2); +static int compare_prio(const void *arg1, const void *arg2); +static int compare_threads(const void *arg1, const void *arg2); /* * "io" compare routines. Context switches aren't i/o, but are displayed * on the "io" display. */ -int compare_iototal(), compare_ioread(), compare_iowrite(), compare_iofault(), - compare_vcsw(), compare_ivcsw(); +static int compare_iototal(const void *arg1, const void *arg2); +static int compare_ioread(const void *arg1, const void *arg2); +static int compare_iowrite(const void *arg1, const void *arg2); +static int compare_iofault(const void *arg1, const void *arg2); +static int compare_vcsw(const void *arg1, const void *arg2); +static int compare_ivcsw(const void *arg1, const void *arg2); -int (*compares[])() = { +int (*compares[])(const void *arg1, const void *arg2) = { compare_cpu, compare_size, compare_res, @@ -1407,7 +1418,7 @@ int (*compares[])() = { /* compare_size - the comparison function for sorting by total memory usage */ int -compare_size(void *arg1, void *arg2) +compare_size(const void *arg1, const void *arg2) { struct kinfo_proc *p1 = *(struct kinfo_proc **)arg1; struct kinfo_proc *p2 = *(struct kinfo_proc **)arg2; @@ -1425,7 +1436,7 @@ compare_size(void *arg1, void *arg2) /* compare_res - the comparison function for sorting by resident set size */ int -compare_res(void *arg1, void *arg2) +compare_res(const void *arg1, const void *arg2) { struct kinfo_proc *p1 = *(struct kinfo_proc **)arg1; struct kinfo_proc *p2 = *(struct kinfo_proc **)arg2; @@ -1443,7 +1454,7 @@ compare_res(void *arg1, void *arg2) /* compare_time - the comparison function for sorting by total cpu time */ int -compare_time(void *arg1, void *arg2) +compare_time(const void *arg1, const void *arg2) { struct kinfo_proc *p1 = *(struct kinfo_proc **)arg1; struct kinfo_proc *p2 = *(struct kinfo_proc **)arg2; @@ -1461,7 +1472,7 @@ compare_time(void *arg1, void *arg2) /* compare_prio - the comparison function for sorting by priority */ int -compare_prio(void *arg1, void *arg2) +compare_prio(const void *arg1, const void *arg2) { struct kinfo_proc *p1 = *(struct kinfo_proc **)arg1; struct kinfo_proc *p2 = *(struct kinfo_proc **)arg2; @@ -1477,8 +1488,8 @@ compare_prio(void *arg1, void *arg2) } /* compare_threads - the comparison function for sorting by threads */ -int -compare_threads(void *arg1, void *arg2) +static int +compare_threads(const void *arg1, const void *arg2) { struct kinfo_proc *p1 = *(struct kinfo_proc **)arg1; struct kinfo_proc *p2 = *(struct kinfo_proc **)arg2; @@ -1533,7 +1544,7 @@ compare_swap(const void *arg1, const void *arg2) /* assorted comparison functions for sorting by i/o */ int -compare_iototal(void *arg1, void *arg2) +compare_iototal(const void *arg1, const void *arg2) { struct kinfo_proc *p1 = *(struct kinfo_proc **)arg1; struct kinfo_proc *p2 = *(struct kinfo_proc **)arg2; @@ -1541,8 +1552,8 @@ compare_iototal(void *arg1, void *arg2) return (get_io_total(p2) - get_io_total(p1)); } -int -compare_ioread(void *arg1, void *arg2) +static int +compare_ioread(const void *arg1, const void *arg2) { struct kinfo_proc *p1 = *(struct kinfo_proc **)arg1; struct kinfo_proc *p2 = *(struct kinfo_proc **)arg2; @@ -1554,8 +1565,8 @@ compare_ioread(void *arg1, void *arg2) return (inp2 - inp1); } -int -compare_iowrite(void *arg1, void *arg2) +static int +compare_iowrite(const void *arg1, const void *arg2) { struct kinfo_proc *p1 = *(struct kinfo_proc **)arg1; struct kinfo_proc *p2 = *(struct kinfo_proc **)arg2; @@ -1567,8 +1578,8 @@ compare_iowrite(void *arg1, void *arg2) return (oup2 - oup1); } -int -compare_iofault(void *arg1, void *arg2) +static int +compare_iofault(const void *arg1, const void *arg2) { struct kinfo_proc *p1 = *(struct kinfo_proc **)arg1; struct kinfo_proc *p2 = *(struct kinfo_proc **)arg2; @@ -1580,8 +1591,8 @@ compare_iofault(void *arg1, void *arg2) return (flp2 - flp1); } -int -compare_vcsw(void *arg1, void *arg2) +static int +compare_vcsw(const void *arg1, const void *arg2) { struct kinfo_proc *p1 = *(struct kinfo_proc **)arg1; struct kinfo_proc *p2 = *(struct kinfo_proc **)arg2; @@ -1594,7 +1605,7 @@ compare_vcsw(void *arg1, void *arg2) } int -compare_ivcsw(void *arg1, void *arg2) +compare_ivcsw(const void *arg1, const void *arg2) { struct kinfo_proc *p1 = *(struct kinfo_proc **)arg1; struct kinfo_proc *p2 = *(struct kinfo_proc **)arg2; Modified: head/usr.bin/top/screen.c ============================================================================== --- head/usr.bin/top/screen.c Mon May 21 00:51:30 2018 (r333950) +++ head/usr.bin/top/screen.c Mon May 21 00:53:42 2018 (r333951) @@ -23,9 +23,10 @@ #include "top.h" #include <sys/ioctl.h> +#include <stdlib.h> #include <string.h> -# define TERMIOS -# include <termios.h> +#define TERMIOS +#include <termios.h> #include <curses.h> #include <termcap.h> #include "screen.h" @@ -41,8 +42,6 @@ char ch_erase; char ch_kill; char smart_terminal; char PC; -char *tgetstr(); -char *tgoto(); char termcap_buf[1024]; char string_buffer[1024]; char home[15]; @@ -73,7 +72,6 @@ int interactive; char *bufptr; char *PCptr; char *term_name; - char *getenv(); int status; /* set defaults in case we aren't smart */ Modified: head/usr.bin/top/screen.h ============================================================================== --- head/usr.bin/top/screen.h Mon May 21 00:51:30 2018 (r333950) +++ head/usr.bin/top/screen.h Mon May 21 00:53:42 2018 (r333951) @@ -3,15 +3,13 @@ * * This file contains all the definitions necessary to use the hand-written * screen package in "screen.c" + * + * $FreeBSD$ */ #define TCputs(str) tputs(str, 1, putstdout) #define putcap(str) (void)((str) != NULL ? TCputs(str) : 0) #define Move_to(x, y) TCputs(tgoto(cursor_motion, x, y)) - -/* declare return values for termcap functions */ -char *tgetstr(); -char *tgoto(); extern char ch_erase; /* set to the user's erase character */ extern char ch_kill; /* set to the user's kill character */ Modified: head/usr.bin/top/top.c ============================================================================== --- head/usr.bin/top/top.c Mon May 21 00:51:30 2018 (r333950) +++ head/usr.bin/top/top.c Mon May 21 00:53:42 2018 (r333951) @@ -81,16 +81,16 @@ static int fmt_flags = 0; int pcpu_stats = No; /* signal handling routines */ -sigret_t leave(); -sigret_t tstop(); -sigret_t top_winch(int); +static sigret_t leave(int); +static sigret_t tstop(int); +static sigret_t top_winch(int); volatile sig_atomic_t leaveflag; volatile sig_atomic_t tstopflag; volatile sig_atomic_t winchflag; /* internal routines */ -void quit(); +void quit(int); /* values which need to be accessed by signal handlers */ static int max_topn; /* maximum displayable processes */ @@ -100,20 +100,18 @@ struct process_select ps; char *myname = "top"; jmp_buf jmp_int; -/* routines that don't return int */ +char *username(int); -char *username(); +extern int (*compares[])(const void*, const void*); +time_t time(time_t *tloc); -extern int (*compares[])(); -time_t time(); - caddr_t get_process_info(struct system_info *si, struct process_select *sel, int (*compare)(const void *, const void *)); /* different routines for displaying the user's identification */ /* (values assigned to get_userid) */ -char *username(); -char *itoa7(); +char *username(int); +char *itoa7(int); /* pointers to display routines */ void (*d_loadave)(int mpid, double *avenrun) = i_loadave; @@ -632,10 +630,10 @@ char *argv[]; old_sigmask = sigblock(Smask(SIGINT) | Smask(SIGQUIT) | Smask(SIGTSTP)); #endif init_screen(); - (void) signal(SIGINT, leave); - (void) signal(SIGQUIT, leave); - (void) signal(SIGTSTP, tstop); - (void) signal(SIGWINCH, top_winch); + signal(SIGINT, leave); + signal(SIGQUIT, leave); + signal(SIGTSTP, tstop); + signal(SIGWINCH, top_winch); #ifdef SIGRELSE sigrelse(SIGINT); sigrelse(SIGQUIT); @@ -1228,30 +1226,30 @@ reset_display() * signal handlers */ -sigret_t leave() /* exit under normal conditions -- INT handler */ +static sigret_t +leave(int i __unused) /* exit under normal conditions -- INT handler */ { leaveflag = 1; } -sigret_t tstop(int i __unused) /* SIGTSTP handler */ +static sigret_t +tstop(int i __unused) /* SIGTSTP handler */ { tstopflag = 1; } -sigret_t top_winch(int i __unused) /* SIGWINCH handler */ +static sigret_t +top_winch(int i __unused) /* SIGWINCH handler */ { winchflag = 1; } -void quit(status) /* exit under duress */ - -int status; - +void +quit(int status) /* exit under duress */ { end_screen(); exit(status); - /*NOTREACHED*/ }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201805210053.w4L0rgMI087917>