static char sccsid
[] = "@(#)cmds.c 1.4 (Lucasfilm) %G%";
register struct cmdtab
*p
;
for (cp
= cmd
; *cp
&& !isspace(*cp
); cp
++)
for (; *cp
&& isspace(*cp
); cp
++)
if (strcmp(cmd
, "quit") == 0 || strcmp(cmd
, "q") == 0)
if (strcmp(cmd
, "load") == 0) {
if (strcmp(cmd
, "stop") == 0) {
mvaddstr(CMDLINE
, 0, "Refresh disabled.");
if (strcmp(cmd
, "start") == 0 || strcmp(cmd
, "interval") == 0) {
x
= *cp
? atoi(cp
) : naptime
;
error("%d: bad interval.", x
);
if (p
== (struct cmdtab
*)-1) {
error("%s: Ambiguous command.", cmd
);
if (curcmd
->c_cmd
&& (*curcmd
->c_cmd
)(cmd
, cp
))
error("%s: Unknown command.", cmd
);
register struct cmdtab
*c
, *found
;
register int nmatches
, longest
;
for (c
= cmdtab
; p
= c
->c_name
; c
++) {
for (q
= name
; *q
== *p
++; q
++)
if (*q
== 0) /* exact match? */
if (!*q
) { /* the name was a prefix */
if (q
- name
> longest
) {
} else if (q
- name
== longest
)
return ((struct cmdtab
*)-1);
error("Showing %s, refresh every %d seconds.",
curcmd
->c_name
, naptime
);
signal(SIGTSTP
, SIG_DFL
);
signal(SIGTSTP
, suspend
);