SCCS-vsn: usr.bin/systat/cmds.c 1.2
SCCS-vsn: usr.bin/systat/main.c 1.6
SCCS-vsn: usr.bin/systat/systat.h 1.3
-static char sccsid[] = "@(#)cmds.c 1.1 (Lucasfilm) %G%";
+static char sccsid[] = "@(#)cmds.c 1.2 (Lucasfilm) %G%";
- if (strcmp(cmd, "quit") == 0)
+ if (strcmp(cmd, "quit") == 0 || strcmp(cmd, "q") == 0)
- if (strcmp(cmd, "status") == 0 || strcmp(cmd, "help") == 0) {
- status();
- return;
- }
if (strcmp(cmd, "load") == 0) {
load();
return;
}
if (strcmp(cmd, "load") == 0) {
load();
return;
}
if (p != (struct cmdtab *)-1) {
if (curcmd == p)
return;
if (p != (struct cmdtab *)-1) {
if (curcmd == p)
return;
/* commands with arguments */
for (; *cp && isspace(*cp); cp++)
;
/* commands with arguments */
for (; *cp && isspace(*cp); cp++)
;
- if (strcmp(cmd, "start") == 0) {
+ if (strcmp(cmd, "start") == 0 || strcmp(cmd, "interval") == 0) {
register char *name;
{
register char *p, *q;
register char *name;
{
register char *p, *q;
-static char sccsid[] = "@(#)main.c 1.5 (Lucasfilm) %G%";
+static char sccsid[] = "@(#)main.c 1.6 (Lucasfilm) %G%";
#endif
#include "systat.h"
#endif
#include "systat.h"
if (argv[0][0] == '-') {
struct cmdtab *p;
if (argv[0][0] == '-') {
struct cmdtab *p;
- for (p = cmdtab; *p->c_name; p++)
- if (strcmp(p->c_name, &argv[0][1]) == 0)
- break;
- if (*p->c_name == 0) {
+ p = lookup(&argv[0][1]);
+ if (p == (struct cmdtab *)-1) {
fprintf(stderr, "%s: unknown request\n",
&argv[0][1]);
exit(1);
fprintf(stderr, "%s: unknown request\n",
&argv[0][1]);
exit(1);
gethostname(hostname, sizeof (hostname));
gethostname(hostname, sizeof (hostname));
lseek(kmem, nlst[X_CCPU].n_value, 0);
read(kmem, &ccpu, sizeof (ccpu));
lccpu = log(ccpu);
lseek(kmem, nlst[X_CCPU].n_value, 0);
read(kmem, &ccpu, sizeof (ccpu));
lccpu = log(ccpu);
struct cmdtab *curcmd;
struct cmdtab cmdtab[];
struct cmdtab *curcmd;
struct cmdtab cmdtab[];
+struct cmdtab *lookup();