|
|
@ -330,11 +330,13 @@ static void IConsoleAliasExec(const IConsoleAlias *alias, byte tokencount, char
|
|
|
|
case '\'': // ' will double for ""
|
|
|
|
case '\'': // ' will double for ""
|
|
|
|
aliasstream[astream_i++] = '"';
|
|
|
|
aliasstream[astream_i++] = '"';
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
case ';': // Cmd seperator, start new command
|
|
|
|
case ';': // Cmd seperator, start new command
|
|
|
|
aliasstream[astream_i] = '\0';
|
|
|
|
aliasstream[astream_i] = '\0';
|
|
|
|
aliases[++a_index] = &aliasstream[++astream_i];
|
|
|
|
aliases[++a_index] = &aliasstream[++astream_i];
|
|
|
|
cmdptr++;
|
|
|
|
cmdptr++;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
case '%': // Some or all parameters
|
|
|
|
case '%': // Some or all parameters
|
|
|
|
cmdptr++;
|
|
|
|
cmdptr++;
|
|
|
|
switch (*cmdptr) {
|
|
|
|
switch (*cmdptr) {
|
|
|
@ -345,7 +347,9 @@ static void IConsoleAliasExec(const IConsoleAlias *alias, byte tokencount, char
|
|
|
|
aliasstream[astream_i++] = '"';
|
|
|
|
aliasstream[astream_i++] = '"';
|
|
|
|
aliasstream[astream_i++] = ' ';
|
|
|
|
aliasstream[astream_i++] = ' ';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
case '!': { // Merge the parameters to one: "[param 1] [param 2] [param 3...]"
|
|
|
|
case '!': { // Merge the parameters to one: "[param 1] [param 2] [param 3...]"
|
|
|
|
aliasstream[astream_i++] = '"';
|
|
|
|
aliasstream[astream_i++] = '"';
|
|
|
|
for (i = 0; i != tokencount; i++) {
|
|
|
|
for (i = 0; i != tokencount; i++) {
|
|
|
@ -353,8 +357,9 @@ static void IConsoleAliasExec(const IConsoleAlias *alias, byte tokencount, char
|
|
|
|
aliasstream[astream_i++] = ' ';
|
|
|
|
aliasstream[astream_i++] = ' ';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
aliasstream[astream_i++] = '"';
|
|
|
|
aliasstream[astream_i++] = '"';
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
} break;
|
|
|
|
|
|
|
|
default: { // One specific parameter: %A = [param 1] %B = [param 2] ...
|
|
|
|
default: { // One specific parameter: %A = [param 1] %B = [param 2] ...
|
|
|
|
int param = *cmdptr - 'A';
|
|
|
|
int param = *cmdptr - 'A';
|
|
|
|
|
|
|
|
|
|
|
@ -367,8 +372,10 @@ static void IConsoleAliasExec(const IConsoleAlias *alias, byte tokencount, char
|
|
|
|
aliasstream[astream_i++] = '"';
|
|
|
|
aliasstream[astream_i++] = '"';
|
|
|
|
astream_i += IConsoleCopyInParams(&aliasstream[astream_i], tokens[param], astream_i);
|
|
|
|
astream_i += IConsoleCopyInParams(&aliasstream[astream_i], tokens[param], astream_i);
|
|
|
|
aliasstream[astream_i++] = '"';
|
|
|
|
aliasstream[astream_i++] = '"';
|
|
|
|
} break;
|
|
|
|
break;
|
|
|
|
} break;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
default:
|
|
|
|
aliasstream[astream_i++] = *cmdptr;
|
|
|
|
aliasstream[astream_i++] = *cmdptr;
|
|
|
|