diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-03-01 14:36:36 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2008-03-01 14:36:36 +0000 |
| commit | 0747c2dff9289db6204b82501d03447f3ec6cc99 (patch) | |
| tree | ecca83ee860dfa5293f4dba9233820579a4bf4ac /src/engine/e_console.c | |
| parent | 622dbc6f3e5a5f398af8c6ef98d057a200c813a0 (diff) | |
| download | zcatch-0747c2dff9289db6204b82501d03447f3ec6cc99.tar.gz zcatch-0747c2dff9289db6204b82501d03447f3ec6cc99.zip | |
fixed remote console. some gui tweaks aswell.
Diffstat (limited to 'src/engine/e_console.c')
| -rw-r--r-- | src/engine/e_console.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/engine/e_console.c b/src/engine/e_console.c index db0398b4..27add750 100644 --- a/src/engine/e_console.c +++ b/src/engine/e_console.c @@ -1,6 +1,7 @@ #include "e_system.h" #include "e_console.h" #include "e_config.h" +#include "e_linereader.h" #include <stdio.h> #include <string.h> #include <stdlib.h> @@ -339,7 +340,7 @@ void console_print(const char *str) print_callback(str); } -void console_execute(const char *str) +void console_execute_line(const char *str) { LEXER_RESULT result; int error; @@ -374,6 +375,28 @@ void console_execute(const char *str) } } +void console_execute_file(const char *filename) +{ + IOHANDLE file; + file = io_open(filename, IOFLAG_READ); + + if(file) + { + char *line; + LINEREADER lr; + + dbg_msg("console", "executing '%s'", filename); + linereader_init(&lr, file); + + while((line = linereader_get(&lr))) + console_execute_line(line); + + io_close(file); + } + else + dbg_msg("console", "failed to open '%s'", filename); +} + static void echo_command(void *result, void *user_data) { const char *str; |