diff --git a/src/ansi.c b/src/ansi.c index 29fbe0d..ac72975 100644 --- a/src/ansi.c +++ b/src/ansi.c @@ -66,6 +66,7 @@ int visual_bell = 0; int use_hardstatus = 1; /* display status line in hs */ char *printcmd = 0; int use_altscreen = 0; /* enable alternate screen support? */ +int defakaargs = 0; /* number of command arguments displayed by autoaka */ unsigned char *blank; /* line filled with spaces */ unsigned char *null; /* line filled with '\0' */ @@ -2271,13 +2272,21 @@ FindAKA() else wp->w_autoaka = 0; line = cp; - while (len && *cp != ' ') + int aka_word_counter=0; + int aka_spaces_counter=0; + while (len && aka_spaces_counter < 2 && aka_word_counter <= defakaargs) { + if (*cp == ' ') + { + aka_spaces_counter++; + aka_word_counter++; + } + else aka_spaces_counter = 0; if (*cp++ == '/') - line = cp; + line = cp; len--; } - ChangeAKA(wp, (char *)line, cp - line); + ChangeAKA(wp, (char *)line, cp - line - aka_spaces_counter); } else wp->w_autoaka = 0; diff --git a/src/comm.c b/src/comm.c index aedfe49..72bf417 100644 --- a/src/comm.c +++ b/src/comm.c @@ -132,6 +132,7 @@ struct comm comms[RC_LAST + 1] = { "crlf", ARGS_01 }, #endif { "debug", ARGS_01 }, + { "defakaargs", ARGS_01 }, #ifdef AUTO_NUKE { "defautonuke", ARGS_1 }, #endif diff --git a/src/process.c b/src/process.c index 5176a82..aded6dd 100644 --- a/src/process.c +++ b/src/process.c @@ -78,6 +78,7 @@ extern int defnonblock; extern int ZombieKey_destroy; extern int ZombieKey_resurrect; extern int ZombieKey_onerror; +extern int defakaargs; #ifdef AUTO_NUKE extern int defautonuke; #endif @@ -2678,6 +2679,17 @@ int key; (void)ParseOnOff(act, &nwin_default.lflag); break; #endif + case RC_DEFAKAARGS: + if(!args[0]) + { + char buf[256]; + sprintf(buf, "current displayed autoaka arguments: %d", defakaargs); + Msg(0, buf); + break; + } + Msg(0, "displayed autoaka arguments set to: %s", args[0]); + defakaargs=atoi(args[0]); + break; case RC_DEFFLOW: if (args[0] && args[1] && args[1][0] == 'i') {