src/chanserv.c (chanserv_ctcp_check): Make 'text' parameter const.
src/mod-helpserv.c (helpserv_usermsg): Likewise.
(helpserv_botmsg): Likewise.
src/modcmd.c (svccmd_invoke): Likewise.
(modcmd_privmsg): Likewise.
(modcmd_chanmsg): Likewise.
src/modcmd.h (SVCMSG_HOOK): Likewise.
src/proto.h (chanmsg_func_t): Likewise.
(privmsg_func_t): Likewise.
git-archimport-id: srvx@srvx.net--2006/srvx--devo--1.3--patch-34
# arch-tag: automatic-ChangeLog--srvx@srvx.net--2006/srvx--devo--1.3
#
+2006-09-22 01:35:03 GMT Michael Poole <mdpoole@troilus.org> patch-34
+
+ Summary:
+ Make IRC message handler 'text' const.
+ Revision:
+ srvx--devo--1.3--patch-34
+
+ src/chanserv.c (chanserv_ctcp_check): Make 'text' parameter const.
+
+ src/mod-helpserv.c (helpserv_usermsg): Likewise.
+ (helpserv_botmsg): Likewise.
+
+ src/modcmd.c (svccmd_invoke): Likewise.
+ (modcmd_privmsg): Likewise.
+ (modcmd_chanmsg): Likewise.
+
+ src/modcmd.h (SVCMSG_HOOK): Likewise.
+
+ src/proto.h (chanmsg_func_t): Likewise.
+ (privmsg_func_t): Likewise.
+
+ modified files:
+ ChangeLog src/chanserv.c src/mod-helpserv.c src/modcmd.c
+ src/modcmd.h src/proto.h
+
+
2006-09-22 01:23:43 GMT Michael Poole <mdpoole@troilus.org> patch-33
Summary:
/* chanserv.c - Channel service bot
- * Copyright 2000-2004 srvx Development Team
+ * Copyright 2000-2006 srvx Development Team
*
* This file is part of srvx.
*
}
static void
-chanserv_ctcp_check(struct userNode *user, struct chanNode *channel, char *text, UNUSED_ARG(struct userNode *bot))
+chanserv_ctcp_check(struct userNode *user, struct chanNode *channel, const char *text, UNUSED_ARG(struct userNode *bot))
{
unsigned int eflags, argc;
char *argv[4];
return;
/* We need to enforce against them; do so. */
eflags = 0;
- argv[0] = text;
+ argv[0] = (char*)text;
argv[1] = user->nick;
argc = 2;
if(GetUserMode(channel, user))
/* mod-helpserv.c - Support Helper assistant service
- * Copyright 2002-2003 srvx Development Team
+ * Copyright 2002-2003, 2006 srvx Development Team
*
* This file is part of srvx.
*
}
/* Handle a message from a user to a HelpServ bot. */
-static void helpserv_usermsg(struct userNode *user, struct helpserv_bot *hs, char *text) {
+static void helpserv_usermsg(struct userNode *user, struct helpserv_bot *hs, const char *text) {
const int from_opserv = 0; /* for helpserv_notice */
struct helpserv_request *req=NULL, *newest=NULL;
struct helpserv_reqlist *reqlist, *hand_reqlist;
}
/* Handle messages direct to a HelpServ bot. */
-static void helpserv_botmsg(struct userNode *user, struct userNode *target, char *text, UNUSED_ARG(int server_qualified)) {
+static void helpserv_botmsg(struct userNode *user, struct userNode *target, const char *text, UNUSED_ARG(int server_qualified)) {
struct helpserv_bot *hs;
struct helpserv_cmd *cmd;
struct helpserv_user *hs_user;
char *argv[MAXNUMPARAMS];
+ char tmpline[MAXLEN];
int argc, argv_shift;
const int from_opserv = 0; /* for helpserv_notice */
}
argv_shift = 1;
- argc = split_line(text, false, ArrayLength(argv)-argv_shift, argv+argv_shift);
+ safestrncpy(tmpline, text, sizeof(tmpline));
+ argc = split_line(tmpline, false, ArrayLength(argv)-argv_shift, argv+argv_shift);
if (!argc)
return;
if (!cmd->func) {
helpserv_notice(user, "HSMSG_INTERNAL_COMMAND", argv[argv_shift]);
} else if (cmd->func(user, hs, 0, argc, argv+argv_shift)) {
- unsplit_string(argv+argv_shift, argc, text);
- log_audit(HS_LOG, LOG_COMMAND, user, hs->helpserv, hs->helpchan->name, 0, text);
+ unsplit_string(argv+argv_shift, argc, tmpline);
+ log_audit(HS_LOG, LOG_COMMAND, user, hs->helpserv, hs->helpchan->name, 0, tmpline);
}
}
/* modcmd.c - Generalized module command support
- * Copyright 2002-2004 srvx Development Team
+ * Copyright 2002-2006 srvx Development Team
*
* This file is part of srvx.
*
}
static int
-svccmd_invoke(struct userNode *user, struct service *service, struct chanNode *channel, char *text, int server_qualified) {
+svccmd_invoke(struct userNode *user, struct service *service, struct chanNode *channel, const char *text, int server_qualified) {
unsigned int argc;
char *argv[MAXNUMPARAMS];
+ char tmpline[MAXLEN];
if (!*text)
return 0;
return 0;
}
}
- argc = split_line(text, false, ArrayLength(argv), argv);
+ safestrncpy(tmpline, text, sizeof(tmpline));
+ argc = split_line(tmpline, false, ArrayLength(argv), argv);
return argc ? svccmd_invoke_argv(user, service, channel, argc, argv, server_qualified) : 0;
}
void
-modcmd_privmsg(struct userNode *user, struct userNode *bot, char *text, int server_qualified) {
+modcmd_privmsg(struct userNode *user, struct userNode *bot, const char *text, int server_qualified) {
struct service *service;
if (!(service = dict_find(services, bot->nick, NULL))) {
}
void
-modcmd_chanmsg(struct userNode *user, struct chanNode *chan, char *text, struct userNode *bot) {
+modcmd_chanmsg(struct userNode *user, struct chanNode *chan, const char *text, struct userNode *bot) {
struct service *service;
if (!(service = dict_find(services, bot->nick, NULL))) return;
svccmd_invoke(user, service, chan, text, 0);
/* modcmd.h - Generalized module command support
- * Copyright 2002-2004 srvx Development Team
+ * Copyright 2002-2006 srvx Development Team
*
* This file is part of srvx.
*
#define MODCMD_FUNC(NAME) int NAME(struct userNode *user, UNUSED_ARG(struct chanNode *channel), UNUSED_ARG(unsigned int argc), UNUSED_ARG(char **argv), UNUSED_ARG(struct svccmd *cmd))
typedef MODCMD_FUNC(modcmd_func_t);
-#define SVCMSG_HOOK(NAME) int NAME(struct userNode *user, struct userNode *target, char *text, int server_qualified);
+#define SVCMSG_HOOK(NAME) int NAME(struct userNode *user, struct userNode *target, const char *text, int server_qualified);
typedef SVCMSG_HOOK(svcmsg_hook_t);
DECLARE_LIST(svccmd_list, struct svccmd*);
/* proto.h - IRC protocol output
- * Copyright 2000-2004 srvx Development Team
+ * Copyright 2000-2006 srvx Development Team
*
* This file is part of srvx.
*
int parse_line(char *line, int recursive);
/* Callback notifications for protocol support. */
-typedef void (*chanmsg_func_t) (struct userNode *user, struct chanNode *chan, char *text, struct userNode *bot);
+typedef void (*chanmsg_func_t) (struct userNode *user, struct chanNode *chan, const char *text, struct userNode *bot);
void reg_chanmsg_func(unsigned char prefix, struct userNode *service, chanmsg_func_t handler);
void reg_allchanmsg_func(struct userNode *service, chanmsg_func_t handler);
struct userNode *get_chanmsg_bot(unsigned char prefix);
-typedef void (*privmsg_func_t) (struct userNode *user, struct userNode *target, char *text, int server_qualified);
+typedef void (*privmsg_func_t) (struct userNode *user, struct userNode *target, const char *text, int server_qualified);
void reg_privmsg_func(struct userNode *user, privmsg_func_t handler);
void reg_notice_func(struct userNode *user, privmsg_func_t handler);
void unreg_privmsg_func(struct userNode *user, privmsg_func_t handler);