summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSadrul Habib Chowdhury <sadrul@users.sourceforge.net>2010-02-12 16:26:16 -0500
committerSadrul Habib Chowdhury <sadrul@users.sourceforge.net>2010-02-12 16:26:16 -0500
commitb040667633ecccb582426536936f07c8e005c87b (patch)
tree212e8850e94aad8468998e960011268f33139ecb
parentf3415774783781be919cd0452d401bbbe396c879 (diff)
downloadscreen-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.sh4
-rw-r--r--src/process.c14
-rw-r--r--src/socket.c1
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