diff options
author | dominik <dominik@openttd.org> | 2004-12-13 20:45:55 +0000 |
---|---|---|
committer | dominik <dominik@openttd.org> | 2004-12-13 20:45:55 +0000 |
commit | 8e981a1babfb9f40743e3d0caefca30d91bc9069 (patch) | |
tree | 2e4fc9cb7fb2001f14a2c572517e09e897692008 | |
parent | 8322b4b18f4019450772467ebf464b8fcaa339aa (diff) | |
download | openttd-8e981a1babfb9f40743e3d0caefca30d91bc9069.tar.xz |
(svn r1073) - condebugger extended a bit [shows the commandline] (sign_de)
- fixed handling of aliases with parameters (sign_de)
-rw-r--r-- | console.c | 18 |
1 files changed, 14 insertions, 4 deletions
@@ -603,7 +603,8 @@ void IConsoleAliasExec(const char* cmdline, char* tokens[20], byte tokentypes[20 i++; if (cmdline[i] == '+') { t=1; - while ((tokens[t]!=NULL) && (t<20)) { + while ((tokens[t]!=NULL) && (t<20) && + ((tokentypes[t] == ICONSOLE_VAR_STRING) || (tokentypes[t] == ICONSOLE_VAR_UNKNOWN))) { int l2 = strlen(tokens[t]); *linestream = '"'; linestream++; @@ -621,9 +622,13 @@ void IConsoleAliasExec(const char* cmdline, char* tokens[20], byte tokentypes[20 t = ((byte)cmdline[i]) - 64; if ((t<20) && (tokens[t]!=NULL)) { l2 = strlen(tokens[t]); + *linestream = '"'; + linestream++; memcpy(linestream,tokens[t],l2); - x += l2; linestream += l2; + *linestream = '"'; + linestream++; + x += l2+2; } } } else if (cmdline[i] == '\\') { @@ -659,9 +664,11 @@ void IConsoleAliasExec(const char* cmdline, char* tokens[20], byte tokentypes[20 *linestream = '\0'; } - free(linestream_s); + for (i=0; i<c; i++) { + IConsoleCmdExec(lines[i]); + } - for (i=0; i<c; i++) IConsoleCmdExec(lines[i]); + free(linestream_s); } void IConsoleVarInsert(_iconsole_var* item_new, const char* name) @@ -1035,6 +1042,9 @@ void IConsoleCmdExec(const char* cmdstr) int i; int l; + if (_stdlib_con_developer) + IConsolePrintF(_iconsole_color_debug, "CONDEBUG: execution_cmdline: %s", cmdstr); + //** clearing buffer **// for (i = 0; i < 20; i++) { |