From: pk910 Date: Mon, 7 Nov 2011 06:27:09 +0000 (+0100) Subject: show whole binding (inclusive predefined parameters) and trigger count _per bind_ X-Git-Tag: v5.3~195 X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=commitdiff_plain;h=41f8f0a14e2aaa05735ed3303ee0ffa260e192cd show whole binding (inclusive predefined parameters) and trigger count _per bind_ --- diff --git a/src/cmd_global_commands.c b/src/cmd_global_commands.c index 10b2c4b..e0cfba0 100644 --- a/src/cmd_global_commands.c +++ b/src/cmd_global_commands.c @@ -52,6 +52,8 @@ CMD_BIND(global_cmd_commands) { char caccess[5]; char gaccess[5]; char triggered[10]; + char funcname[MAXLEN]; + int funcpos; for(i = 0; i < bindcount; i++) { cbind = binds[i]; content[0] = cbind->cmd; @@ -59,9 +61,16 @@ CMD_BIND(global_cmd_commands) { content[1] = caccess; sprintf(gaccess, "%d", global_cmd_commands_operaccess(cbind)); content[2] = gaccess; - sprintf(triggered, "%d", cbind->func->triggered); + sprintf(triggered, "%d", cbind->triggered); content[3] = triggered; - content[4] = cbind->func->name; + funcpos = sprintf(funcname, "%s", cbind->func->name); + if(cbind->paramcount) { + int j; + for(j = 0; j < cbind->paramcount; j++) { + funcpos += sprintf(funcname + funcpos, " %s", cbind->parameters[j]); + } + } + content[4] = funcname; table_add(table, content); } //send the table diff --git a/src/modcmd.c b/src/modcmd.c index ecb788a..931c508 100644 --- a/src/modcmd.c +++ b/src/modcmd.c @@ -158,7 +158,7 @@ static void handle_command(struct ClientSocket *client, struct UserNode *user, s if(statistics_enabled) statistics_commands++; total_triggered++; - cbind->func->triggered++; + cbind->triggered++; if((cbind->func->flags & CMDFLAG_FUNCMD)) { if(!sent_chan) break; @@ -484,7 +484,6 @@ int register_command(int botid, char *name, cmd_bind_t *func, int paramcount, ch cmdfunc->paramcount = paramcount; cmdfunc->channel_access = channel_access; cmdfunc->global_access = global_access; - cmdfunc->triggered = 0; cmdfunc->next = cmd_functions; cmd_functions = cmdfunc; return 1; @@ -541,6 +540,7 @@ int bind_cmd_to_function(int botid, char *cmd, struct cmd_function *func) { cbind->global_access = 0; cbind->channel_access = NULL; cbind->flags = 0; + cbind->triggered = 0; cbind->next = cmd_binds[bind_index]; cmd_binds[bind_index] = cbind; return 1; @@ -586,6 +586,7 @@ int bind_cmd_to_command(int botid, char *cmd, char *func) { cbind->global_access = 0; cbind->channel_access = NULL; cbind->flags = 0; + cbind->triggered = 0; cmd_binds[bind_index] = cbind; return 1; } diff --git a/src/modcmd.h b/src/modcmd.h index 4f06162..e844537 100644 --- a/src/modcmd.h +++ b/src/modcmd.h @@ -52,7 +52,6 @@ struct cmd_function { int paramcount; int global_access; char *channel_access; - int triggered; struct cmd_function *next; }; @@ -66,6 +65,7 @@ struct cmd_binding { int paramcount; int global_access; char *channel_access; + int triggered; struct cmd_binding *next; };