#include "mysqlConn.h"
#include "DBHelper.h"
#include "EventLogger.h"
+#include "tools.h"
+#include "log.h"
struct trigger_callback {
int botid;
triggerStr[0] = '\0';
trigger = malloc(sizeof(*trigger));
if (!trigger) {
- perror("malloc() failed");
+ printf_log("main", LOG_ERROR, "%s:%d malloc() failed", __FILE__, __LINE__);
return 0;
}
trigger->botid = botid;
args++;
}
sprintf(command, "%s %s", parent_bind->cmd, subcmd);
+ if(args)
+ args[-1] = ' ';
for(cbind = cmd_binds[bind_index]; cbind; cbind = cbind->next) {
if(cbind->botid == client->botid && (cbind->botid || cbind->clientid == client->clientid) && stricmp(cbind->cmd, command) == 0)
break;
}
- *args_ptr = args;
- if(cbind && cbind->func->func == modcmd_linker) {
- return modcmd_linker_command(client, textclient, user, cbind, bind_index, args_ptr);
+ if(cbind) {
+ *args_ptr = args;
+ if(cbind->func->func == modcmd_linker)
+ parent_bind = modcmd_linker_command(client, textclient, user, cbind, bind_index, args_ptr);
+ else
+ parent_bind = cbind;
}
- return (cbind ? cbind : parent_bind);
- } else
- return parent_bind;
+ }
+ return parent_bind;
}
static void handle_command(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, char *message) {
struct command_check_user_cache *data = malloc(sizeof(*data));
char **temp_argv = malloc(argc*sizeof(*temp_argv));
if (!data || !temp_argv) {
- perror("malloc() failed");
+ printf_log("main", LOG_ERROR, "%s:%d malloc() failed", __FILE__, __LINE__);
break;
}
memcpy(temp_argv, argv, argc*sizeof(*temp_argv));
}
cmdfunc = malloc(sizeof(*cmdfunc));
if (!cmdfunc) {
- perror("malloc() failed");
+ printf_log("main", LOG_ERROR, "%s:%d malloc() failed", __FILE__, __LINE__);
return 0;
}
cmdfunc->botid = botid;
if(!cb) {
cb = malloc(sizeof(*cb));
if (!cb) {
- perror("malloc() failed");
+ printf_log("main", LOG_ERROR, "%s:%d malloc() failed", __FILE__, __LINE__);
return 0;
}
cb->botid = botid;
}
cbind = malloc(sizeof(*cbind));
if (!cbind) {
- perror("malloc() failed");
+ printf_log("main", LOG_ERROR, "%s:%d malloc() failed", __FILE__, __LINE__);
return 0;
}
cbind->botid = botid;
}
cbind = malloc(sizeof(*cbind));
if (!cbind) {
- perror("malloc() failed");
+ printf_log("main", LOG_ERROR, "%s:%d malloc() failed", __FILE__, __LINE__);
return 0;
}
cbind->botid = botid;
}
botalias = malloc(sizeof(*botalias));
if (!botalias) {
- perror("malloc() failed");
+ printf_log("main", LOG_ERROR, "%s:%d malloc() failed", __FILE__, __LINE__);
return;
}
botalias->botid = botid;