Add get_kill_reason() that uses BitchX.kill, and convert all /KILL users to it
Previously only send_kill() used BitchX.kill - the other KILL commands (eg. /WHOKILL) were using the random kick reasons. Standardise them all on BitchX.kill, and add this file to the source so it can be installed along with the other random reason files.
This commit is contained in:
parent
27e32a0319
commit
ff251080da
|
@ -0,0 +1,2 @@
|
|||
# You can populate this file for randomly-chosen /KILL reasons.
|
||||
# $0 is replaced by the target nick and $1 by your nick.
|
|
@ -1,7 +1,10 @@
|
|||
[Changes 1.2.2]
|
||||
|
||||
* Use BitchX.kill in all cases for random /KILL messages, and install a
|
||||
copy of this file. (caf)
|
||||
|
||||
* Fix potential crash in /unban, and change it so that it correctly matches
|
||||
the user@ portion of the hostmask.
|
||||
the user@ portion of the hostmask. (caf)
|
||||
|
||||
* Clean up the build by fixing up the (unsigned char *) / (char *) mismatches
|
||||
that the compiler warns about. (caf)
|
||||
|
|
|
@ -92,6 +92,7 @@ DEFAULT_MSGLOGFILE = @DEFAULT_MSGLOGFILE@
|
|||
DEFAULT_BITCHX_HELP_FILE = @DEFAULT_BITCHX_HELP_FILE@
|
||||
DEFAULT_SCRIPT_HELP_FILE = @DEFAULT_SCRIPT_HELP_FILE@
|
||||
DEFAULT_BITCHX_KICK_FILE = @DEFAULT_BITCHX_KICK_FILE@
|
||||
DEFAULT_BITCHX_KILL_FILE = @DEFAULT_BITCHX_KILL_FILE@
|
||||
DEFAULT_BITCHX_QUIT_FILE = @DEFAULT_BITCHX_QUIT_FILE@
|
||||
DEFAULT_BITCHX_IRCNAME_FILE = @DEFAULT_BITCHX_IRCNAME_FILE@
|
||||
|
||||
|
@ -238,6 +239,7 @@ installirc: installdirs $(_VERSION_)
|
|||
$(INSTALL_DATA) $(top_srcdir)/BitchX.ircnames $(DESTDIR)$(IRCLIB)/$(DEFAULT_BITCHX_IRCNAME_FILE)
|
||||
$(INSTALL_DATA) $(top_srcdir)/BitchX.quit $(DESTDIR)$(IRCLIB)/$(DEFAULT_BITCHX_QUIT_FILE)
|
||||
$(INSTALL_DATA) $(top_srcdir)/BitchX.reasons $(DESTDIR)$(IRCLIB)/$(DEFAULT_BITCHX_KICK_FILE)
|
||||
$(INSTALL_DATA) $(top_srcdir)/BitchX.kill $(DESTDIR)$(IRCLIB)/$(DEFAULT_BITCHX_KILL_FILE)
|
||||
$(WINNT_INSTALL)
|
||||
|
||||
install_local: all local_installdirs installdll_local
|
||||
|
@ -248,6 +250,7 @@ install_local: all local_installdirs installdll_local
|
|||
$(INSTALL_DATA) $(top_srcdir)/BitchX.ircnames $(DEFAULT_CTOOLZ_DIR)/$(DEFAULT_BITCHX_IRCNAME_FILE)
|
||||
$(INSTALL_DATA) $(top_srcdir)/BitchX.quit $(DEFAULT_CTOOLZ_DIR)/$(DEFAULT_BITCHX_QUIT_FILE)
|
||||
$(INSTALL_DATA) $(top_srcdir)/BitchX.reasons $(DEFAULT_CTOOLZ_DIR)/$(DEFAULT_BITCHX_KICK_FILE)
|
||||
$(INSTALL_DATA) $(top_srcdir)/BitchX.kill $(DEFAULT_CTOOLZ_DIR)/$(DEFAULT_BITCHX_KILL_FILE)
|
||||
|
||||
wserv: .config.h $(srcdir)/source/wserv.c $(srcdir)/source/term.c $(srcdir)/Makefile
|
||||
cd source \
|
||||
|
|
|
@ -309,7 +309,7 @@ ac_includes_default="\
|
|||
# include <unistd.h>
|
||||
#endif"
|
||||
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS topdir VERSION_NUMBER CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S MAKE SET_MAKE CPP EGREP AWK ALLOCA GLIB_CONFIG GLIB_CFLAGS GLIB_LIBS GTK_CONFIG GTK_CFLAGS GTK_LIBS IMLIB_CONFIG GDK_IMLIB_CFLAGS GDK_IMLIB_LIBS GNOME_CONFIG GNOME_CFLAGS GNOME_LIBS X_O ESD_CONFIG ESD_CFLAGS ESD_LIBS AUDIOFILE_CONFIG AUDIOFILE_CFLAGS AUDIOFILE_LIBS VERSION _VERSION_ EXTRAS INSTALL_EXTRAS TCL_LIBS TCL_SRCS TCL_OBJS CD_SRCS CD_OBJS XMMS_CONFIG XMMS_CFLAGS XMMS_LIBS XMMS_VERSION XMMS_DATA_DIR XMMS_PLUGIN_DIR XMMS_VISUALIZATION_PLUGIN_DIR XMMS_INPUT_PLUGIN_DIR XMMS_OUTPUT_PLUGIN_DIR XMMS_GENERAL_PLUGIN_DIR XMMS_EFFECT_PLUGIN_DIR MYSQL_LIBS PLUGINS SHLIB_CFLAGS SHLIB_LD SHLIB_SUFFIX RM CP MV GZIP_ENV BZIP2 INSTALL_IRC IRCLIB IRCPATH TRANSLATION_PATH HELPDIR INSTALL_WSERV INSTALL_SCRBX PLUGINDIR INCLUDES GUI_SRCS HAVE_INET_ATON DEFAULT_CTOOLZ_DIR DEFAULT_MSGLOGFILE DEFAULT_BITCHX_HELP_FILE DEFAULT_SCRIPT_HELP_FILE DEFAULT_BITCHX_KICK_FILE DEFAULT_BITCHX_QUIT_FILE DEFAULT_BITCHX_IRCNAME_FILE HINT_FILE WINNT_INSTALL LIBOBJS LTLIBOBJS'
|
||||
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS topdir VERSION_NUMBER CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S MAKE SET_MAKE CPP EGREP AWK ALLOCA GLIB_CONFIG GLIB_CFLAGS GLIB_LIBS GTK_CONFIG GTK_CFLAGS GTK_LIBS IMLIB_CONFIG GDK_IMLIB_CFLAGS GDK_IMLIB_LIBS GNOME_CONFIG GNOME_CFLAGS GNOME_LIBS X_O ESD_CONFIG ESD_CFLAGS ESD_LIBS AUDIOFILE_CONFIG AUDIOFILE_CFLAGS AUDIOFILE_LIBS VERSION _VERSION_ EXTRAS INSTALL_EXTRAS TCL_LIBS TCL_SRCS TCL_OBJS CD_SRCS CD_OBJS XMMS_CONFIG XMMS_CFLAGS XMMS_LIBS XMMS_VERSION XMMS_DATA_DIR XMMS_PLUGIN_DIR XMMS_VISUALIZATION_PLUGIN_DIR XMMS_INPUT_PLUGIN_DIR XMMS_OUTPUT_PLUGIN_DIR XMMS_GENERAL_PLUGIN_DIR XMMS_EFFECT_PLUGIN_DIR MYSQL_LIBS PLUGINS SHLIB_CFLAGS SHLIB_LD SHLIB_SUFFIX RM CP MV GZIP_ENV BZIP2 INSTALL_IRC IRCLIB IRCPATH TRANSLATION_PATH HELPDIR INSTALL_WSERV INSTALL_SCRBX PLUGINDIR INCLUDES GUI_SRCS HAVE_INET_ATON DEFAULT_CTOOLZ_DIR DEFAULT_MSGLOGFILE DEFAULT_BITCHX_HELP_FILE DEFAULT_SCRIPT_HELP_FILE DEFAULT_BITCHX_KICK_FILE DEFAULT_BITCHX_KILL_FILE DEFAULT_BITCHX_QUIT_FILE DEFAULT_BITCHX_IRCNAME_FILE HINT_FILE WINNT_INSTALL LIBOBJS LTLIBOBJS'
|
||||
ac_subst_files=''
|
||||
|
||||
# Initialize some variables set by options.
|
||||
|
@ -15756,6 +15756,7 @@ if test -n "$CYGWIN" -o -n "$EMXOS2" -o -n "$MINGWIN32"; then
|
|||
DEFAULT_BITCHX_HELP_FILE="BitchX.hlp"
|
||||
DEFAULT_SCRIPT_HELP_FILE="BitchX.hlp"
|
||||
DEFAULT_BITCHX_KICK_FILE="BitchX.kck"
|
||||
DEFAULT_BITCHX_KILL_FILE="BitchX.kil"
|
||||
DEFAULT_BITCHX_QUIT_FILE="BitchX.qt"
|
||||
DEFAULT_BITCHX_IRCNAME_FILE="BitchX.nam"
|
||||
WINNT_INSTALL="\$(INSTALL_DATA) \$(top_srcdir)/doc/BitchX.ico \$(DESTDIR)\$(IRCLIB); \$(INSTALL_DATA) \$(top_srcdir)/doc/BitchX.bat \$(DESTDIR)\$(IRCLIB); \$(INSTALL_DATA) \$(top_srcdir)/doc/bx-rc \$(DESTDIR)\$(IRCLIB); \$(MV) \$(DESTDIR)\$(IRCLIB)/\$(VERSION)\$(EXEEXT) \$(DESTDIR)\$(IRCLIB)/\$(_VERSION_)\$(EXEEXT); \$(RM) \$(DESTDIR)\$(IRCLIB)/\$(_VERSION_).old"
|
||||
|
@ -15776,6 +15777,7 @@ else
|
|||
DEFAULT_BITCHX_HELP_FILE="BitchX.help"
|
||||
DEFAULT_SCRIPT_HELP_FILE="BitchX.help"
|
||||
DEFAULT_BITCHX_KICK_FILE="BitchX.kick"
|
||||
DEFAULT_BITCHX_KILL_FILE="BitchX.kill"
|
||||
DEFAULT_BITCHX_QUIT_FILE="BitchX.quit"
|
||||
DEFAULT_BITCHX_IRCNAME_FILE="BitchX.ircnames"
|
||||
HINT_FILE="BitchX.hints"
|
||||
|
@ -15835,6 +15837,12 @@ _ACEOF
|
|||
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define DEFAULT_BITCHX_KILL_FILE "$DEFAULT_BITCHX_KILL_FILE"
|
||||
_ACEOF
|
||||
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define DEFAULT_BITCHX_QUIT_FILE "$DEFAULT_BITCHX_QUIT_FILE"
|
||||
_ACEOF
|
||||
|
@ -16588,6 +16596,7 @@ s,@DEFAULT_MSGLOGFILE@,$DEFAULT_MSGLOGFILE,;t t
|
|||
s,@DEFAULT_BITCHX_HELP_FILE@,$DEFAULT_BITCHX_HELP_FILE,;t t
|
||||
s,@DEFAULT_SCRIPT_HELP_FILE@,$DEFAULT_SCRIPT_HELP_FILE,;t t
|
||||
s,@DEFAULT_BITCHX_KICK_FILE@,$DEFAULT_BITCHX_KICK_FILE,;t t
|
||||
s,@DEFAULT_BITCHX_KILL_FILE@,$DEFAULT_BITCHX_KILL_FILE,;t t
|
||||
s,@DEFAULT_BITCHX_QUIT_FILE@,$DEFAULT_BITCHX_QUIT_FILE,;t t
|
||||
s,@DEFAULT_BITCHX_IRCNAME_FILE@,$DEFAULT_BITCHX_IRCNAME_FILE,;t t
|
||||
s,@HINT_FILE@,$HINT_FILE,;t t
|
||||
|
|
|
@ -1002,6 +1002,7 @@ if test -n "$CYGWIN" -o -n "$EMXOS2" -o -n "$MINGWIN32"; then
|
|||
DEFAULT_BITCHX_HELP_FILE="BitchX.hlp"
|
||||
DEFAULT_SCRIPT_HELP_FILE="BitchX.hlp"
|
||||
DEFAULT_BITCHX_KICK_FILE="BitchX.kck"
|
||||
DEFAULT_BITCHX_KILL_FILE="BitchX.kil"
|
||||
DEFAULT_BITCHX_QUIT_FILE="BitchX.qt"
|
||||
DEFAULT_BITCHX_IRCNAME_FILE="BitchX.nam"
|
||||
WINNT_INSTALL="\$(INSTALL_DATA) \$(top_srcdir)/doc/BitchX.ico \$(DESTDIR)\$(IRCLIB); \$(INSTALL_DATA) \$(top_srcdir)/doc/BitchX.bat \$(DESTDIR)\$(IRCLIB); \$(INSTALL_DATA) \$(top_srcdir)/doc/bx-rc \$(DESTDIR)\$(IRCLIB); \$(MV) \$(DESTDIR)\$(IRCLIB)/\$(VERSION)\$(EXEEXT) \$(DESTDIR)\$(IRCLIB)/\$(_VERSION_)\$(EXEEXT); \$(RM) \$(DESTDIR)\$(IRCLIB)/\$(_VERSION_).old"
|
||||
|
@ -1022,6 +1023,7 @@ else
|
|||
DEFAULT_BITCHX_HELP_FILE="BitchX.help"
|
||||
DEFAULT_SCRIPT_HELP_FILE="BitchX.help"
|
||||
DEFAULT_BITCHX_KICK_FILE="BitchX.kick"
|
||||
DEFAULT_BITCHX_KILL_FILE="BitchX.kill"
|
||||
DEFAULT_BITCHX_QUIT_FILE="BitchX.quit"
|
||||
DEFAULT_BITCHX_IRCNAME_FILE="BitchX.ircnames"
|
||||
HINT_FILE="BitchX.hints"
|
||||
|
@ -1066,9 +1068,11 @@ AC_DEFINE_UNQUOTED(DEFAULT_BITCHX_HELP_FILE, "$DEFAULT_BITCHX_HELP_FILE", Defaul
|
|||
AC_SUBST(DEFAULT_BITCHX_HELP_FILE)
|
||||
AC_DEFINE_UNQUOTED(DEFAULT_SCRIPT_HELP_FILE, "$DEFAULT_SCRIPT_HELP_FILE", Default BitchX script file.)
|
||||
AC_SUBST(DEFAULT_SCRIPT_HELP_FILE)
|
||||
AC_DEFINE_UNQUOTED(DEFAULT_BITCHX_KICK_FILE, "$DEFAULT_BITCHX_KICK_FILE", Default BitchX kick file.)
|
||||
AC_DEFINE_UNQUOTED(DEFAULT_BITCHX_KICK_FILE, "$DEFAULT_BITCHX_KICK_FILE", Default BitchX kick reasons file.)
|
||||
AC_SUBST(DEFAULT_BITCHX_KICK_FILE)
|
||||
AC_DEFINE_UNQUOTED(DEFAULT_BITCHX_QUIT_FILE, "$DEFAULT_BITCHX_QUIT_FILE", Default BitchX quit file.)
|
||||
AC_DEFINE_UNQUOTED(DEFAULT_BITCHX_KILL_FILE, "$DEFAULT_BITCHX_KILL_FILE", Default BitchX kill reasons file.)
|
||||
AC_SUBST(DEFAULT_BITCHX_KILL_FILE)
|
||||
AC_DEFINE_UNQUOTED(DEFAULT_BITCHX_QUIT_FILE, "$DEFAULT_BITCHX_QUIT_FILE", Default BitchX quit reasons file.)
|
||||
AC_SUBST(DEFAULT_BITCHX_QUIT_FILE)
|
||||
AC_DEFINE_UNQUOTED(DEFAULT_BITCHX_IRCNAME_FILE, "$DEFAULT_BITCHX_IRCNAME_FILE", Default BitchX ircname file.)
|
||||
AC_SUBST(DEFAULT_BITCHX_IRCNAME_FILE)
|
||||
|
|
|
@ -17,10 +17,13 @@
|
|||
/* Default BitchX ircname file. */
|
||||
#undef DEFAULT_BITCHX_IRCNAME_FILE
|
||||
|
||||
/* Default BitchX kick file. */
|
||||
/* Default BitchX kick reasons file. */
|
||||
#undef DEFAULT_BITCHX_KICK_FILE
|
||||
|
||||
/* Default BitchX quit file. */
|
||||
/* Default BitchX kill reasons file. */
|
||||
#undef DEFAULT_BITCHX_KILL_FILE
|
||||
|
||||
/* Default BitchX quit reasons file. */
|
||||
#undef DEFAULT_BITCHX_QUIT_FILE
|
||||
|
||||
/* Default CToolZ directory. */
|
||||
|
|
|
@ -102,9 +102,10 @@ ChannelList * BX_prepare_command (int *, char *, int);
|
|||
int are_you_opped (char *);
|
||||
void error_not_opped (const char *);
|
||||
|
||||
char *get_reason (char *, char *);
|
||||
char *get_realname(char *);
|
||||
char *get_signoffreason (char *);
|
||||
char *get_reason(const char *nick, const char *file);
|
||||
char *get_kill_reason(const char *target, const char *nick);
|
||||
char *get_realname(const char *nick);
|
||||
char *get_signoffreason(const char *nick);
|
||||
int isme (char *);
|
||||
|
||||
char *BX_convert_output_format (const char *, const char *, ...);
|
||||
|
|
|
@ -3625,65 +3625,41 @@ BUILT_IN_COMMAND(send_2comm)
|
|||
|
||||
BUILT_IN_COMMAND(send_kill)
|
||||
{
|
||||
char *reason = NULL;
|
||||
char *r_file;
|
||||
char *nick;
|
||||
char *arg = NULL, *save_arg = NULL;
|
||||
|
||||
#if 0
|
||||
args = next_arg(args, &reason);
|
||||
if (!args)
|
||||
args = empty_string;
|
||||
#endif
|
||||
|
||||
#if defined(WINNT)
|
||||
r_file = m_sprintf("%s/BitchX.kil",get_string_var(CTOOLZ_DIR_VAR));
|
||||
#else
|
||||
r_file = m_sprintf("%s/BitchX.kill",get_string_var(CTOOLZ_DIR_VAR));
|
||||
#endif
|
||||
|
||||
if ((reason = strchr(args, ' ')) != NULL)
|
||||
*reason++ = '\0';
|
||||
else
|
||||
if ((reason = get_reason(args, r_file)))
|
||||
reason = empty_string;
|
||||
new_free(&r_file);
|
||||
char *target;
|
||||
|
||||
if (!strcmp(args, "*"))
|
||||
target = next_arg(args, &args);
|
||||
|
||||
if (!strcmp(target, "*"))
|
||||
{
|
||||
ChannelList *chan = NULL;
|
||||
ChannelList *chan = lookup_channel("*", from_server, 0);
|
||||
NickList *n = NULL;
|
||||
arg = get_current_channel_by_refnum(0);
|
||||
if (!arg || !*arg)
|
||||
return; /* what-EVER */
|
||||
else
|
||||
|
||||
if (!chan)
|
||||
return;
|
||||
for (n = next_nicklist(chan, NULL); n; n = next_nicklist(chan, n))
|
||||
{
|
||||
if (!(chan = lookup_channel(arg, from_server, 0)))
|
||||
return;
|
||||
arg = NULL;
|
||||
for (n = next_nicklist(chan, NULL); n; n = next_nicklist(chan, n))
|
||||
{
|
||||
if (isme(n->nick)) continue;
|
||||
m_s3cat(&arg, ",", n->nick);
|
||||
}
|
||||
save_arg = arg;
|
||||
if (isme(n->nick))
|
||||
continue;
|
||||
|
||||
if (args && *args)
|
||||
send_to_server("%s %s :%s", command, n->nick, args);
|
||||
else
|
||||
send_to_server("%s %s :%s", command, n->nick,
|
||||
get_kill_reason(n->nick, get_server_nickname(from_server)));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
malloc_strcpy(&arg, args);
|
||||
save_arg = arg;
|
||||
const char *nick;
|
||||
while ((nick = next_in_comma_list(target, &target)) && *nick)
|
||||
{
|
||||
if (args && *args)
|
||||
send_to_server("%s %s :%s", command, nick, args);
|
||||
else
|
||||
send_to_server("%s %s :%s", command, nick,
|
||||
get_kill_reason(nick, get_server_nickname(from_server)));
|
||||
}
|
||||
}
|
||||
while ((nick = next_in_comma_list(arg, &arg)))
|
||||
{
|
||||
if (!nick || !*nick)
|
||||
break;
|
||||
if (reason && *reason)
|
||||
send_to_server("%s %s :%s", command, nick, reason);
|
||||
else
|
||||
send_to_server("%s %s", command, nick);
|
||||
}
|
||||
new_free(&save_arg);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -977,14 +977,14 @@ char *reason = NULL;
|
|||
|
||||
void who_user_killend(WhoEntry *w, char *unused, char **unused1)
|
||||
{
|
||||
char *pattern, *match, *who_buff, *reason;
|
||||
int server = -1;
|
||||
char *pattern, *match, *who_buff, *who_reason;
|
||||
int server = -1;
|
||||
|
||||
if (w->who_buff)
|
||||
{
|
||||
who_buff = LOCAL_COPY(w->who_buff);
|
||||
reason = strchr(who_buff, ':');
|
||||
*reason++ = 0;
|
||||
who_reason = strchr(who_buff, ':');
|
||||
*who_reason++ = 0;
|
||||
server = atol(next_arg(who_buff, &who_buff));
|
||||
pattern = next_arg(who_buff, &who_buff);
|
||||
match = next_arg(who_buff, &who_buff);
|
||||
|
@ -1008,6 +1008,9 @@ int server = -1;
|
|||
m_s3cat(&buffer, ",", nick);
|
||||
if (num >= get_int_var(NUM_KILLS_VAR))
|
||||
{
|
||||
const char *reason = who_reason;
|
||||
if (!*reason)
|
||||
reason = get_kill_reason(buffer, get_server_nickname(from_server));
|
||||
bitchsay("Killing %s :%s[%d]", save_buffer, reason, count);
|
||||
my_send_to_server(server, "KILL %s :%s(%d)", buffer, reason, count);
|
||||
new_free(&buffer);
|
||||
|
@ -1016,6 +1019,9 @@ int server = -1;
|
|||
}
|
||||
if (buffer)
|
||||
{
|
||||
const char *reason = who_reason;
|
||||
if (!*reason)
|
||||
reason = get_kill_reason(buffer, get_server_nickname(from_server));
|
||||
bitchsay("Killing %s %s[%d]", save_buffer, reason, count);
|
||||
my_send_to_server(server, "KILL %s :%s(%d)", buffer, reason, count);
|
||||
}
|
||||
|
@ -1034,19 +1040,19 @@ BUILT_IN_COMMAND(whokill)
|
|||
char *reason = NULL;
|
||||
char *nick_arg = NULL;
|
||||
|
||||
if (!args || !*args)
|
||||
if (!args || !*args)
|
||||
return;
|
||||
if ((reason = strchr(args, ':')))
|
||||
*reason++ = 0;
|
||||
else
|
||||
reason = get_reason(empty_string, NULL);
|
||||
reason = empty_string;
|
||||
|
||||
while ((pattern = next_arg(args, &args)))
|
||||
{
|
||||
malloc_sprintf(&nick_arg, "%s%s%s", *pattern != '*'?"*":empty_string, pattern, *(pattern+strlen(pattern)-1) != '*'?"*":empty_string);
|
||||
if ((p = strchr(nick_arg, '@')))
|
||||
p++;
|
||||
whobase(p ? p : nick_arg, who_user_kill, who_user_killend, "%d %s :%s", from_server, nick_arg, (reason && *reason) ? reason : empty_string);
|
||||
whobase(p ? p : nick_arg, who_user_kill, who_user_killend, "%d %s :%s", from_server, nick_arg, reason);
|
||||
new_free(&nick_arg);
|
||||
}
|
||||
}
|
||||
|
@ -1056,8 +1062,7 @@ static char *treason = NULL;
|
|||
|
||||
void trace_handlekill(int comm, char *nick)
|
||||
{
|
||||
static int count = 0;
|
||||
|
||||
static int count = 0;
|
||||
|
||||
if (!nick || !*nick)
|
||||
{
|
||||
|
@ -1077,7 +1082,8 @@ static int count = 0;
|
|||
return;
|
||||
bitchsay("Killing %s[%s] %d", nick, tnick_arg, ++count);
|
||||
if (!treason)
|
||||
malloc_strcpy(&treason, get_reason(nick, NULL));
|
||||
malloc_strcpy(&treason,
|
||||
get_kill_reason(nick, get_server_nickname(from_server)));
|
||||
send_to_server("KILL %s :%s (%d)", nick, treason, count);
|
||||
}
|
||||
|
||||
|
|
|
@ -1799,22 +1799,25 @@ static char *random_text(const char *filename, const char *arg0,
|
|||
return stripansicodes(convert_output_format(format, "%s %s", arg0, arg1));
|
||||
}
|
||||
|
||||
char *get_reason(char *nick, char *file)
|
||||
char *get_reason(const char *nick, const char *file)
|
||||
{
|
||||
char *filename = file;
|
||||
|
||||
if (!file || !*file)
|
||||
filename = DEFAULT_BITCHX_KICK_FILE;
|
||||
file = DEFAULT_BITCHX_KICK_FILE;
|
||||
|
||||
return random_text(filename, nick ? nick : "error", get_server_nickname(from_server), get_string_var(DEFAULT_REASON_VAR));
|
||||
return random_text(file, nick ? nick : "error", get_server_nickname(from_server), get_string_var(DEFAULT_REASON_VAR));
|
||||
}
|
||||
|
||||
char *get_realname(char *nick)
|
||||
char *get_kill_reason(const char *target, const char *nick)
|
||||
{
|
||||
return random_text(DEFAULT_BITCHX_KILL_FILE, target, nick, get_string_var(DEFAULT_REASON_VAR));
|
||||
}
|
||||
|
||||
char *get_realname(const char *nick)
|
||||
{
|
||||
return random_text(DEFAULT_BITCHX_IRCNAME_FILE, nick, nick, "Who cares?");
|
||||
}
|
||||
|
||||
char *get_signoffreason(char *nick)
|
||||
char *get_signoffreason(const char *nick)
|
||||
{
|
||||
return random_text(DEFAULT_BITCHX_QUIT_FILE, nick, nick, "$0 has no reason");
|
||||
}
|
||||
|
@ -4231,8 +4234,8 @@ int count = 0,
|
|||
{
|
||||
if (!isme(nicks->nick))
|
||||
my_send_to_server(server, "KILL %s :%s (%i", nicks->nick,
|
||||
args && *args ? args : get_reason(nicks->nick, NULL),
|
||||
count + 1);
|
||||
args && *args ? args : get_kill_reason(nicks->nick,
|
||||
get_server_nickname(from_server)), count + 1);
|
||||
else
|
||||
count--;
|
||||
break;
|
||||
|
@ -4310,8 +4313,8 @@ int count = 0,
|
|||
if (!isme(nicks->nick))
|
||||
{
|
||||
my_send_to_server(server, "KILL %s :%s (%i", nicks->nick,
|
||||
args && *args ? args : get_reason(nicks->nick, NULL),
|
||||
count);
|
||||
args && *args ? args : get_kill_reason(nicks->nick,
|
||||
get_server_nickname(from_server)), count);
|
||||
}
|
||||
else
|
||||
count--;
|
||||
|
|
Loading…
Reference in New Issue