Kommandos: ggf IDs an _process_command() uebergeben
Durch Uebergabe der Kommando-ID (aus AddCmd-Aufruf) koennen
Kommandos selektiv durch Ueberschreiben der
_process_command() identifiziert und abgebrochen werden
Change-Id: Ica5a0483fb2d81cb2583b255126405755d64ba7f
diff --git a/std/thing/commands.c b/std/thing/commands.c
index 404fc9a..8134f4b 100644
--- a/std/thing/commands.c
+++ b/std/thing/commands.c
@@ -339,7 +339,8 @@
// Regeln fuer ein (nun unwichtiges) Verb triggern
static int _process_command(string str, string *noparsestr,
- mixed fun, mixed flag, mixed rule) {
+ mixed fun, mixed flag, mixed rule, mixed id)
+{
mixed *parsed, *objmatches;
// eine Regel ... auswerten ...
@@ -524,12 +525,15 @@
// dann matche ungeparsten Input gegen etwaige Regeln
// -- nicht aendern: neue Kommandos sollen alte "ueberschreiben" koennen
while(nindex--)
- if(_process_command(&str, noparsestr,
- fun[nindex], flag[nindex], rule[nindex]))
+ {
+ mixed cmd_id = (pointerp(ids) && sizeof(ids)>nindex) ? ids[nindex] : 0;
+ if(_process_command(&str, noparsestr, fun[nindex], flag[nindex],
+ rule[nindex], cmd_id))
{
GiveEP(EP_CMD, query_verb());
return 1;
}
+ }
}
// keine Regel passte, unscharfe Auswertung auf alle