diff options
author | Sadrul Habib Chowdhury <sadrul@users.sourceforge.net> | 2010-02-12 16:26:16 -0500 |
---|---|---|
committer | Sadrul Habib Chowdhury <sadrul@users.sourceforge.net> | 2010-02-12 16:26:16 -0500 |
commit | b040667633ecccb582426536936f07c8e005c87b (patch) | |
tree | 212e8850e94aad8468998e960011268f33139ecb | |
parent | f3415774783781be919cd0452d401bbbe396c879 (diff) | |
download | screen-b040667633ecccb582426536936f07c8e005c87b.tar.gz |
Put in some flags to suppress messages from commands.
A command name can be prefixed by '@' to suppress the error
messages, and by '-' to suppress the normal messages. The flags are
currently parsed, but not acted upon.
-rw-r--r-- | src/comm.sh | 4 | ||||
-rw-r--r-- | src/process.c | 14 | ||||
-rw-r--r-- | src/socket.c | 1 |
3 files changed, 19 insertions, 0 deletions
diff --git a/src/comm.sh b/src/comm.sh index 44c83dd..a4b06e7 100644 --- a/src/comm.sh +++ b/src/comm.sh @@ -61,6 +61,10 @@ struct action int nr; char **args; int *argl; + int quiet; /* Suppress (currently unused) + 0x01 - Error message + 0x02 - Normal message + */ }; #define RC_ILLEGAL -1 diff --git a/src/process.c b/src/process.c index 0bb3603..42da498 100644 --- a/src/process.c +++ b/src/process.c @@ -695,6 +695,7 @@ int create; kp->ktab[i].nr = RC_ILLEGAL; kp->ktab[i].args = noargs; kp->ktab[i].argl = 0; + kp->ktab[i].quiet = 0; } kp->next = 0; *kpp = kp; @@ -4448,6 +4449,18 @@ int *argl; struct action act; const char *cmd = *argv; + act.quiet = 0; + if (*cmd == '@') /* Suppress error */ + { + act.quiet |= 0x01; + cmd++; + } + if (*cmd == '-') /* Suppress normal message */ + { + act.quiet |= 0x02; + cmd++; + } + if ((act.nr = FindCommnr(cmd)) == RC_ILLEGAL) { Msg(0, "%s: unknown command '%s'", rc_name, cmd); @@ -6125,6 +6138,7 @@ char *data; act.nr = *(int *)data; act.args = noargs; act.argl = 0; + act.quiet = 0; DoAction(&act, -1); } diff --git a/src/socket.c b/src/socket.c index cd7ef56..a174b72 100644 --- a/src/socket.c +++ b/src/socket.c @@ -1377,6 +1377,7 @@ struct msg *m; char *na = 0; newscreen.nr = RC_SCREEN; newscreen.args = &na; + newscreen.quiet = 0; DoAction(&newscreen, -1); } else |