Silence top(1) compiler warnings
The contrib/top code is no longer maintained upstream (last pulled 16 years ago). The K&R-style followed by the code spews -Wimplicit-int and -Wreturn-type warnings, amongst others. This silences 131 warnings with as little modification as possible by adding necessary return types, definitions, headers, and header guards, and missing header includes. The 5 warnings that remain are due to undeclared ncurses references. I didn't include curses.h and term.h because there are several local functions and macros that conflict with those definitions. MFC after: 3 weeks Reviewed by: cem, ngie Submitted by: Randy Westlund <rwestlun@gmail.com> Differential Revision: https://reviews.freebsd.org/D6468
This commit is contained in:
parent
4a090513b1
commit
0378533250
@ -19,16 +19,21 @@
|
||||
*/
|
||||
|
||||
#include "os.h"
|
||||
#include <ctype.h>
|
||||
#include <signal.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include <sys/time.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#include <signal.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "commands.h"
|
||||
#include "sigdesc.h" /* generated automatically */
|
||||
#include "top.h"
|
||||
#include "boolean.h"
|
||||
#include "utils.h"
|
||||
#include "machine.h"
|
||||
|
||||
extern int errno;
|
||||
|
||||
@ -39,12 +44,15 @@ extern int overstrike;
|
||||
|
||||
int err_compar();
|
||||
char *err_string();
|
||||
static int str_adderr(char *str, int len, int err);
|
||||
static int str_addarg(char *str, int len, char *arg, int first);
|
||||
|
||||
/*
|
||||
* show_help() - display the help screen; invoked in response to
|
||||
* either 'h' or '?'.
|
||||
*/
|
||||
|
||||
void
|
||||
show_help()
|
||||
|
||||
{
|
||||
@ -123,6 +131,7 @@ register char *str;
|
||||
return(*str == '\0' ? NULL : str);
|
||||
}
|
||||
|
||||
int
|
||||
scanint(str, intp)
|
||||
|
||||
char *str;
|
||||
@ -262,6 +271,7 @@ char *err_string()
|
||||
* the string "str".
|
||||
*/
|
||||
|
||||
static int
|
||||
str_adderr(str, len, err)
|
||||
|
||||
char *str;
|
||||
@ -289,6 +299,7 @@ int err;
|
||||
* is set (indicating that a comma should NOT be added to the front).
|
||||
*/
|
||||
|
||||
static int
|
||||
str_addarg(str, len, arg, first)
|
||||
|
||||
char *str;
|
||||
@ -321,6 +332,7 @@ int first;
|
||||
* for sorting errors.
|
||||
*/
|
||||
|
||||
int
|
||||
err_compar(p1, p2)
|
||||
|
||||
register struct errs *p1, *p2;
|
||||
@ -339,6 +351,7 @@ register struct errs *p1, *p2;
|
||||
* error_count() - return the number of errors currently logged.
|
||||
*/
|
||||
|
||||
int
|
||||
error_count()
|
||||
|
||||
{
|
||||
@ -349,6 +362,7 @@ error_count()
|
||||
* show_errors() - display on stdout the current log of errors.
|
||||
*/
|
||||
|
||||
void
|
||||
show_errors()
|
||||
|
||||
{
|
||||
|
21
contrib/top/commands.h
Normal file
21
contrib/top/commands.h
Normal file
@ -0,0 +1,21 @@
|
||||
/*
|
||||
* Top users/processes display for Unix
|
||||
* Version 3
|
||||
*
|
||||
* This program may be freely redistributed,
|
||||
* but this entire comment MUST remain intact.
|
||||
*
|
||||
* Copyright (c) 1984, 1989, William LeFebvre, Rice University
|
||||
* Copyright (c) 1989, 1990, 1992, William LeFebvre, Northwestern University
|
||||
* Copyright (c) 2016, Randy Westlund
|
||||
*
|
||||
* $FreeBSD$
|
||||
*/
|
||||
#ifndef COMMANDS_H
|
||||
#define COMMANDS_H
|
||||
|
||||
void show_errors(void);
|
||||
int error_count(void);
|
||||
void show_help(void);
|
||||
|
||||
#endif /* COMMANDS_H */
|
@ -29,9 +29,12 @@
|
||||
*/
|
||||
|
||||
#include "os.h"
|
||||
|
||||
#include <sys/time.h>
|
||||
|
||||
#include <ctype.h>
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "screen.h" /* interface to screen package */
|
||||
#include "layout.h" /* defines for screen position layout */
|
||||
@ -56,7 +59,6 @@ static int display_width = MAX_COLS;
|
||||
|
||||
#define lineindex(l) ((l)*display_width)
|
||||
|
||||
char *printable();
|
||||
|
||||
/* things initialized by display_init and used thruout */
|
||||
|
||||
@ -239,6 +241,7 @@ struct statics *statics;
|
||||
return(lines);
|
||||
}
|
||||
|
||||
void
|
||||
i_loadave(mpid, avenrun)
|
||||
|
||||
int mpid;
|
||||
@ -267,6 +270,7 @@ double *avenrun;
|
||||
lmpid = mpid;
|
||||
}
|
||||
|
||||
void
|
||||
u_loadave(mpid, avenrun)
|
||||
|
||||
int mpid;
|
||||
@ -306,6 +310,7 @@ double *avenrun;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
i_timeofday(tod)
|
||||
|
||||
time_t *tod;
|
||||
@ -351,6 +356,7 @@ static char procstates_buffer[MAX_COLS];
|
||||
* lastline is valid
|
||||
*/
|
||||
|
||||
void
|
||||
i_procstates(total, brkdn)
|
||||
|
||||
int total;
|
||||
@ -378,6 +384,7 @@ int *brkdn;
|
||||
memcpy(lprocstates, brkdn, num_procstates * sizeof(int));
|
||||
}
|
||||
|
||||
void
|
||||
u_procstates(total, brkdn)
|
||||
|
||||
int total;
|
||||
@ -460,9 +467,10 @@ char *cpustates_tag()
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
i_cpustates(states)
|
||||
|
||||
register int *states;
|
||||
int *states;
|
||||
|
||||
{
|
||||
register int i = 0;
|
||||
@ -505,9 +513,10 @@ for (cpu = 0; cpu < num_cpus; cpu++) {
|
||||
memcpy(lcpustates, states, num_cpustates * sizeof(int) * num_cpus);
|
||||
}
|
||||
|
||||
void
|
||||
u_cpustates(states)
|
||||
|
||||
register int *states;
|
||||
int *states;
|
||||
|
||||
{
|
||||
register int value;
|
||||
@ -557,6 +566,7 @@ for (cpu = 0; cpu < num_cpus; cpu++) {
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
z_cpustates()
|
||||
|
||||
{
|
||||
@ -606,6 +616,7 @@ for (cpu = 0; cpu < num_cpus; cpu++) {
|
||||
|
||||
char memory_buffer[MAX_COLS];
|
||||
|
||||
void
|
||||
i_memory(stats)
|
||||
|
||||
int *stats;
|
||||
@ -619,6 +630,7 @@ int *stats;
|
||||
fputs(memory_buffer, stdout);
|
||||
}
|
||||
|
||||
void
|
||||
u_memory(stats)
|
||||
|
||||
int *stats;
|
||||
@ -639,13 +651,14 @@ int *stats;
|
||||
*/
|
||||
char arc_buffer[MAX_COLS];
|
||||
|
||||
void
|
||||
i_arc(stats)
|
||||
|
||||
int *stats;
|
||||
|
||||
{
|
||||
if (arc_names == NULL)
|
||||
return (0);
|
||||
return;
|
||||
|
||||
fputs("\nARC: ", stdout);
|
||||
lastline++;
|
||||
@ -655,6 +668,7 @@ int *stats;
|
||||
fputs(arc_buffer, stdout);
|
||||
}
|
||||
|
||||
void
|
||||
u_arc(stats)
|
||||
|
||||
int *stats;
|
||||
@ -663,7 +677,7 @@ int *stats;
|
||||
static char new[MAX_COLS];
|
||||
|
||||
if (arc_names == NULL)
|
||||
return (0);
|
||||
return;
|
||||
|
||||
/* format the new line */
|
||||
summary_format(new, stats, arc_names);
|
||||
@ -680,6 +694,7 @@ int *stats;
|
||||
|
||||
char swap_buffer[MAX_COLS];
|
||||
|
||||
void
|
||||
i_swap(stats)
|
||||
|
||||
int *stats;
|
||||
@ -693,6 +708,7 @@ int *stats;
|
||||
fputs(swap_buffer, stdout);
|
||||
}
|
||||
|
||||
void
|
||||
u_swap(stats)
|
||||
|
||||
int *stats;
|
||||
@ -724,6 +740,7 @@ static int msglen = 0;
|
||||
/* Invariant: msglen is always the length of the message currently displayed
|
||||
on the screen (even when next_msg doesn't contain that message). */
|
||||
|
||||
void
|
||||
i_message()
|
||||
|
||||
{
|
||||
@ -745,6 +762,7 @@ i_message()
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
u_message()
|
||||
|
||||
{
|
||||
@ -786,6 +804,7 @@ char *text;
|
||||
* Assumptions: cursor is on the previous line and lastline is consistent
|
||||
*/
|
||||
|
||||
void
|
||||
i_header(text)
|
||||
|
||||
char *text;
|
||||
@ -811,9 +830,10 @@ char *text;
|
||||
}
|
||||
|
||||
/*ARGSUSED*/
|
||||
void
|
||||
u_header(text)
|
||||
|
||||
char *text; /* ignored */
|
||||
char *text __unused; /* ignored */
|
||||
|
||||
{
|
||||
|
||||
@ -832,6 +852,7 @@ char *text; /* ignored */
|
||||
* Assumptions: lastline is consistent
|
||||
*/
|
||||
|
||||
void
|
||||
i_process(line, thisline)
|
||||
|
||||
int line;
|
||||
@ -862,6 +883,7 @@ char *thisline;
|
||||
memzero(p, display_width - (p - base));
|
||||
}
|
||||
|
||||
void
|
||||
u_process(line, newline)
|
||||
|
||||
int line;
|
||||
@ -909,9 +931,10 @@ char *newline;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
u_endscreen(hi)
|
||||
|
||||
register int hi;
|
||||
int hi;
|
||||
|
||||
{
|
||||
register int screen_line = hi + Header_lines;
|
||||
@ -969,6 +992,7 @@ register int hi;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
display_header(t)
|
||||
|
||||
int t;
|
||||
@ -985,6 +1009,7 @@ int t;
|
||||
}
|
||||
|
||||
/*VARARGS2*/
|
||||
void
|
||||
new_message(type, msgfmt, a1, a2, a3)
|
||||
|
||||
int type;
|
||||
@ -1025,6 +1050,7 @@ caddr_t a1, a2, a3;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
clear_message()
|
||||
|
||||
{
|
||||
@ -1034,6 +1060,7 @@ clear_message()
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
readline(buffer, size, numeric)
|
||||
|
||||
char *buffer;
|
||||
@ -1336,6 +1363,7 @@ char *str;
|
||||
return(str);
|
||||
}
|
||||
|
||||
void
|
||||
i_uptime(bt, tod)
|
||||
|
||||
struct timeval* bt;
|
||||
|
@ -5,3 +5,37 @@
|
||||
#define MT_standout 1
|
||||
#define MT_delayed 2
|
||||
|
||||
#include "machine.h"
|
||||
|
||||
int display_updatecpus(struct statics *statics);
|
||||
void clear_message(void);
|
||||
int display_resize(void);
|
||||
void i_header(char *text);
|
||||
char *printable(char *string);
|
||||
char *cpustates_tag(void);
|
||||
void display_header(int t);
|
||||
int display_init(struct statics *statics);
|
||||
void i_arc(int *stats);
|
||||
void i_cpustates(int *states);
|
||||
void i_loadave(int mpid, double *avenrun);
|
||||
void i_memory(int *stats);
|
||||
void i_message(void);
|
||||
void i_process(int line, char *thisline);
|
||||
void i_procstates(int total, int *brkdn);
|
||||
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);
|
||||
char *trim_header(char *text);
|
||||
void u_arc(int *stats);
|
||||
void u_cpustates(int *states);
|
||||
void u_endscreen(int hi);
|
||||
void u_header(char *text);
|
||||
void u_loadave(int mpid, double *avenrun);
|
||||
void u_memory(int *stats);
|
||||
void u_message(void);
|
||||
void u_process(int line, char *newline);
|
||||
void u_procstates(int total, int *brkdn);
|
||||
void u_swap(int *stats);
|
||||
void z_cpustates(void);
|
||||
|
@ -7,6 +7,10 @@
|
||||
* module. It is NOT machine dependent and should not need to be changed
|
||||
* for any specific machine.
|
||||
*/
|
||||
#ifndef MACHINE_H
|
||||
#define MACHINE_H
|
||||
|
||||
#include "top.h"
|
||||
|
||||
/*
|
||||
* the statics struct is filled in by machine_init
|
||||
@ -74,8 +78,14 @@ struct process_select
|
||||
|
||||
/* routines defined by the machine dependent module */
|
||||
|
||||
char *format_header();
|
||||
char *format_next_process();
|
||||
char *format_header();
|
||||
char *format_next_process();
|
||||
void toggle_pcpustats(void);
|
||||
void get_system_info(struct system_info *si);
|
||||
int machine_init(struct statics *statics, char do_unames);
|
||||
int proc_owner(int pid);
|
||||
|
||||
/* non-int routines typically used by the machine dependent module */
|
||||
char *printable();
|
||||
char *printable();
|
||||
|
||||
#endif /* MACHINE_H */
|
||||
|
@ -50,7 +50,6 @@
|
||||
|
||||
extern char *myname;
|
||||
|
||||
int putstdout();
|
||||
|
||||
int overstrike;
|
||||
int screen_length;
|
||||
@ -236,6 +235,7 @@ int interactive;
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
init_screen()
|
||||
|
||||
{
|
||||
@ -326,6 +326,7 @@ init_screen()
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
end_screen()
|
||||
|
||||
{
|
||||
@ -356,6 +357,7 @@ end_screen()
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
reinit_screen()
|
||||
|
||||
{
|
||||
@ -383,6 +385,7 @@ reinit_screen()
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
get_screensize()
|
||||
|
||||
{
|
||||
@ -428,6 +431,7 @@ get_screensize()
|
||||
lower_left[sizeof(lower_left) - 1] = '\0';
|
||||
}
|
||||
|
||||
void
|
||||
standout(msg)
|
||||
|
||||
char *msg;
|
||||
@ -445,6 +449,7 @@ char *msg;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
clear()
|
||||
|
||||
{
|
||||
@ -454,6 +459,7 @@ clear()
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
clear_eol(len)
|
||||
|
||||
int len;
|
||||
@ -478,6 +484,7 @@ int len;
|
||||
return(-1);
|
||||
}
|
||||
|
||||
void
|
||||
go_home()
|
||||
|
||||
{
|
||||
@ -489,6 +496,7 @@ go_home()
|
||||
|
||||
/* This has to be defined as a subroutine for tputs (instead of a macro) */
|
||||
|
||||
void
|
||||
putstdout(ch)
|
||||
|
||||
char ch;
|
||||
|
@ -28,4 +28,14 @@ extern int screen_length;
|
||||
extern int screen_width;
|
||||
|
||||
/* a function that puts a single character on stdout */
|
||||
int putstdout();
|
||||
void putstdout(char ch);
|
||||
int clear_eol(int len);
|
||||
void standout(char *msg);
|
||||
void clear(void);
|
||||
void go_home(void);
|
||||
void reinit_screen(void);
|
||||
void get_screensize(void);
|
||||
void init_termcap(int interactive);
|
||||
void end_screen(void);
|
||||
void init_screen(void);
|
||||
|
||||
|
@ -34,15 +34,19 @@ char *copyright =
|
||||
*/
|
||||
|
||||
#include "os.h"
|
||||
#include <errno.h>
|
||||
#include <signal.h>
|
||||
#include <setjmp.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#include <sys/jail.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#include <jail.h>
|
||||
#include <setjmp.h>
|
||||
#include <signal.h>
|
||||
#include <unistd.h>
|
||||
|
||||
/* includes specific to top */
|
||||
#include "commands.h"
|
||||
#include "display.h" /* interface to display package */
|
||||
#include "screen.h" /* interface to screen package */
|
||||
#include "top.h"
|
||||
@ -50,6 +54,7 @@ char *copyright =
|
||||
#include "boolean.h"
|
||||
#include "machine.h"
|
||||
#include "utils.h"
|
||||
#include "username.h"
|
||||
|
||||
/* Size of the stdio buffer given to stdout */
|
||||
#define Buffersize 2048
|
||||
@ -114,38 +119,21 @@ caddr_t get_process_info();
|
||||
char *username();
|
||||
char *itoa7();
|
||||
|
||||
/* display routines that need to be predeclared */
|
||||
int i_loadave();
|
||||
int u_loadave();
|
||||
int i_procstates();
|
||||
int u_procstates();
|
||||
int i_cpustates();
|
||||
int u_cpustates();
|
||||
int i_memory();
|
||||
int u_memory();
|
||||
int i_arc();
|
||||
int u_arc();
|
||||
int i_swap();
|
||||
int u_swap();
|
||||
int i_message();
|
||||
int u_message();
|
||||
int i_header();
|
||||
int u_header();
|
||||
int i_process();
|
||||
int u_process();
|
||||
|
||||
/* pointers to display routines */
|
||||
int (*d_loadave)() = i_loadave;
|
||||
int (*d_procstates)() = i_procstates;
|
||||
int (*d_cpustates)() = i_cpustates;
|
||||
int (*d_memory)() = i_memory;
|
||||
int (*d_arc)() = i_arc;
|
||||
int (*d_swap)() = i_swap;
|
||||
int (*d_message)() = i_message;
|
||||
int (*d_header)() = i_header;
|
||||
int (*d_process)() = i_process;
|
||||
void (*d_loadave)() = i_loadave;
|
||||
void (*d_procstates)() = i_procstates;
|
||||
void (*d_cpustates)() = i_cpustates;
|
||||
void (*d_memory)() = i_memory;
|
||||
void (*d_arc)() = i_arc;
|
||||
void (*d_swap)() = i_swap;
|
||||
void (*d_message)() = i_message;
|
||||
void (*d_header)() = i_header;
|
||||
void (*d_process)() = i_process;
|
||||
|
||||
void reset_display(void);
|
||||
|
||||
|
||||
int
|
||||
main(argc, argv)
|
||||
|
||||
int argc;
|
||||
@ -1178,6 +1166,7 @@ char *argv[];
|
||||
* screen will get redrawn.
|
||||
*/
|
||||
|
||||
void
|
||||
reset_display()
|
||||
|
||||
{
|
||||
|
@ -7,6 +7,9 @@
|
||||
* General (global) definitions
|
||||
*/
|
||||
|
||||
#ifndef TOP_H
|
||||
#define TOP_H
|
||||
|
||||
/* Current major version number */
|
||||
#define VERSION 3
|
||||
|
||||
@ -47,3 +50,5 @@ enum displaymodes { DISP_CPU = 0, DISP_IO, DISP_MAX };
|
||||
extern enum displaymodes displaymode;
|
||||
|
||||
extern int pcpu_stats;
|
||||
|
||||
#endif /* TOP_H */
|
||||
|
@ -32,11 +32,15 @@
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/types.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <pwd.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "top.local.h"
|
||||
#include "utils.h"
|
||||
#include "username.h"
|
||||
|
||||
struct hash_el {
|
||||
int uid;
|
||||
@ -55,6 +59,8 @@ struct hash_el {
|
||||
/* We depend on that for hash_table and YOUR compiler had BETTER do it! */
|
||||
struct hash_el hash_table[Table_size];
|
||||
|
||||
|
||||
void
|
||||
init_hash()
|
||||
|
||||
{
|
||||
@ -67,7 +73,7 @@ init_hash()
|
||||
|
||||
char *username(uid)
|
||||
|
||||
register int uid;
|
||||
int uid;
|
||||
|
||||
{
|
||||
register int hashindex;
|
||||
@ -106,8 +112,8 @@ char *username;
|
||||
|
||||
int enter_user(uid, name, wecare)
|
||||
|
||||
register int uid;
|
||||
register char *name;
|
||||
int uid;
|
||||
char *name;
|
||||
int wecare; /* 1 = enter it always, 0 = nice to have */
|
||||
|
||||
{
|
||||
@ -142,7 +148,7 @@ int wecare; /* 1 = enter it always, 0 = nice to have */
|
||||
|
||||
int get_user(uid)
|
||||
|
||||
register int uid;
|
||||
int uid;
|
||||
|
||||
{
|
||||
struct passwd *pwd;
|
||||
|
23
contrib/top/username.h
Normal file
23
contrib/top/username.h
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Top users/processes display for Unix
|
||||
* Version 3
|
||||
*
|
||||
* This program may be freely redistributed,
|
||||
* but this entire comment MUST remain intact.
|
||||
*
|
||||
* Copyright (c) 1984, 1989, William LeFebvre, Rice University
|
||||
* Copyright (c) 1989, 1990, 1992, William LeFebvre, Northwestern University
|
||||
* Copyright (c) 2016, Randy Westlund
|
||||
*
|
||||
* $FreeBSD$
|
||||
*/
|
||||
#ifndef USERNAME_H
|
||||
#define USERNAME_H
|
||||
|
||||
int enter_user(int uid, char *name, int wecare);
|
||||
int get_user(int uid);
|
||||
void init_hash(void);
|
||||
char *username(int uid);
|
||||
int userid(char *username);
|
||||
|
||||
#endif /* USERNAME_H */
|
@ -22,3 +22,5 @@ char *errmsg();
|
||||
char *format_time();
|
||||
char *format_k();
|
||||
char *format_k2(unsigned long long);
|
||||
int string_index(char *string, char **array);
|
||||
|
||||
|
@ -9,6 +9,9 @@
|
||||
* Copyright (c) 1989, 1990, 1992, William LeFebvre, Northwestern University
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "top.h"
|
||||
#include "patchlevel.h"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user