diff options
author | Keith Packard <keithp@keithp.com> | 2011-04-01 14:07:23 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-04-01 14:07:23 -0700 |
commit | 01952da35a57ae4da062facb26b3c6d7de29190f (patch) | |
tree | 55fe738ea7be35faaadbec93a80bcd41e5513d43 /src | |
parent | 359ba0d9fc2c5947e6adc98bebcd061069c61e79 (diff) |
altos: Provide for a pre-filter on commands
This allows for external code to see each command line before it is
processed and potentially skip it.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/ao.h | 8 | ||||
-rw-r--r-- | src/ao_cmd.c | 5 |
2 files changed, 13 insertions, 0 deletions
@@ -403,6 +403,14 @@ ao_cmd_register(__code struct ao_cmds *cmds); void ao_cmd_init(void); +#if HAS_CMD_FILTER +/* + * Provided by an external module to filter raw command lines + */ +uint8_t +ao_cmd_filter(void); +#endif + /* * ao_dma.c */ diff --git a/src/ao_cmd.c b/src/ao_cmd.c index 6007773c..50d5b96f 100644 --- a/src/ao_cmd.c +++ b/src/ao_cmd.c @@ -275,6 +275,11 @@ ao_cmd(void) lex_echo = 1; for (;;) { readline(); +#if HAS_CMD_FILTER + if (ao_cmd_filter()) + continue; + cmd_i = 0; +#endif ao_cmd_lex(); ao_cmd_white(); c = ao_cmd_lex_c; |