+Fri May 25 14:38:38 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
+
+ * Do not say "You have left channel %s" in client library.
+ Moved it to the application. Affected files are
+ lib/silcclient/command.c and silc/client_ops.c.
+
+ * Fixed silc_client_get_clients. Command context was not
+ duplicated and was freed memory in the callback. Affected
+ file lib/silcclient/idlist.c.
+
+ * Do not say "you are now talking..." on JOIN command in the
+ client library. The appliation must handle it.
+
+ * Do not say ".. changed topic to" in command reply in the
+ client libary. The application must handle it.
+
+ * Fixed TOPIC command sending in the client library.
+
Thu May 24 19:08:55 EEST 2001 Pekka Riikonen <priikone@poseidon.pspt.fi>
* Imported a modified version of Irssi client to the source tree.
use_msgs_window = "no";
autocreate_windows = "no";
};
- "fe-text" = { topicbar = "no"; mail_counter = "yes"; };
+ "fe-text" = { topicbar = "no"; mail_counter = "yes"; indent = "8"; };
};
want_perl=no
fi,
want_perl=yes)
+want_perl=no
AC_ARG_WITH(tests,
[ --with-tests Run all the tests],
+++ /dev/null
-dnl Curses detection: Munged from Midnight Commander's configure.in
-dnl
-dnl What it does:
-dnl =============
-dnl
-dnl - Determine which version of curses is installed on your system
-dnl and set the -I/-L/-l compiler entries and add a few preprocessor
-dnl symbols
-dnl - Do an AC_SUBST on the CURSES_INCLUDEDIR and CURSES_LIBS so that
-dnl @CURSES_INCLUDEDIR@ and @CURSES_LIBS@ will be available in
-dnl Makefile.in's
-dnl - Modify the following configure variables (these are the only
-dnl curses.m4 variables you can access from within configure.in)
-dnl CURSES_INCLUDEDIR - contains -I's and possibly -DRENAMED_CURSES if
-dnl an ncurses.h that's been renamed to curses.h
-dnl is found.
-dnl CURSES_LIBS - sets -L and -l's appropriately
-dnl CFLAGS - if --with-sco, add -D_SVID3
-dnl has_curses - exports result of tests to rest of configure
-dnl
-dnl Usage:
-dnl ======
-dnl 1) Add lines indicated below to acconfig.h
-dnl 2) call AC_CHECK_CURSES after AC_PROG_CC in your configure.in
-dnl 3) Instead of #include <curses.h> you should use the following to
-dnl properly locate ncurses or curses header file
-dnl
-dnl #if defined(USE_NCURSES) && !defined(RENAMED_NCURSES)
-dnl #include <ncurses.h>
-dnl #else
-dnl #include <curses.h>
-dnl #endif
-dnl
-dnl 4) Make sure to add @CURSES_INCLUDEDIR@ to your preprocessor flags
-dnl 5) Make sure to add @CURSES_LIBS@ to your linker flags or LIBS
-dnl
-dnl Notes with automake:
-dnl - call AM_CONDITIONAL(HAS_CURSES, test "$has_curses" = true) from
-dnl configure.in
-dnl - your Makefile.am can look something like this
-dnl -----------------------------------------------
-dnl INCLUDES= blah blah blah $(CURSES_INCLUDEDIR)
-dnl if HAS_CURSES
-dnl CURSES_TARGETS=name_of_curses_prog
-dnl endif
-dnl bin_PROGRAMS = other_programs $(CURSES_TARGETS)
-dnl other_programs_SOURCES = blah blah blah
-dnl name_of_curses_prog_SOURCES = blah blah blah
-dnl other_programs_LDADD = blah
-dnl name_of_curses_prog_LDADD = blah $(CURSES_LIBS)
-dnl -----------------------------------------------
-dnl
-dnl
-dnl The following lines should be added to acconfig.h:
-dnl ==================================================
-dnl
-dnl /*=== Curses version detection defines ===*/
-dnl /* Found some version of curses that we're going to use */
-dnl #undef HAS_CURSES
-dnl
-dnl /* Use SunOS SysV curses? */
-dnl #undef USE_SUNOS_CURSES
-dnl
-dnl /* Use old BSD curses - not used right now */
-dnl #undef USE_BSD_CURSES
-dnl
-dnl /* Use SystemV curses? */
-dnl #undef USE_SYSV_CURSES
-dnl
-dnl /* Use Ncurses? */
-dnl #undef USE_NCURSES
-dnl
-dnl /* If you Curses does not have color define this one */
-dnl #undef NO_COLOR_CURSES
-dnl
-dnl /* Define if you want to turn on SCO-specific code */
-dnl #undef SCO_FLAVOR
-dnl
-dnl /* Set to reflect version of ncurses *
-dnl * 0 = version 1.*
-dnl * 1 = version 1.9.9g
-dnl * 2 = version 4.0/4.1 */
-dnl #undef NCURSES_970530
-dnl
-dnl /*=== End new stuff for acconfig.h ===*/
-dnl
-
-
-AC_DEFUN(AC_CHECK_CURSES,[
- search_ncurses=true
- screen_manager=""
- has_curses=false
-
- CFLAGS=${CFLAGS--O}
-
- AC_SUBST(CURSES_LIBS)
- AC_SUBST(CURSES_INCLUDEDIR)
-
- AC_ARG_WITH(sco,
- [ --with-sco Use this to turn on SCO-specific code],[
- if test x$withval = xyes; then
- AC_DEFINE(SCO_FLAVOR)
- CFLAGS="$CFLAGS -D_SVID3"
- fi
- ])
-
- AC_ARG_WITH(sunos-curses,
- [ --with-sunos-curses Used to force SunOS 4.x curses],[
- if test x$withval = xyes; then
- AC_USE_SUNOS_CURSES
- fi
- ])
-
- AC_ARG_WITH(osf1-curses,
- [ --with-osf1-curses Used to force OSF/1 curses],[
- if test x$withval = xyes; then
- AC_USE_OSF1_CURSES
- fi
- ])
-
- AC_ARG_WITH(vcurses,
- [ --with-vcurses[=incdir] Used to force SysV curses],
- if test x$withval != xyes; then
- CURSES_INCLUDEDIR="-I$withval"
- fi
- AC_USE_SYSV_CURSES
- )
-
- AC_ARG_WITH(ncurses,
- [ --with-ncurses[=dir] Compile with ncurses/locate base dir],
- if test x$withval = xno ; then
- search_ncurses=false
- elif test x$withval != xyes ; then
- AC_NCURSES($withval/include, ncurses.h, -L$withval/lib -lncurses, -I$withval/include, "ncurses on $withval/include")
- fi
- )
-
- if $search_ncurses
- then
- AC_SEARCH_NCURSES()
- fi
-])
-
-
-AC_DEFUN(AC_USE_SUNOS_CURSES, [
- search_ncurses=false
- screen_manager="SunOS 4.x /usr/5include curses"
- AC_MSG_RESULT(Using SunOS 4.x /usr/5include curses)
- AC_DEFINE(USE_SUNOS_CURSES)
- AC_DEFINE(HAS_CURSES)
- has_curses=true
- AC_DEFINE(NO_COLOR_CURSES)
- AC_DEFINE(USE_SYSV_CURSES)
- CURSES_INCLUDEDIR="-I/usr/5include"
- CURSES_LIBS="/usr/5lib/libcurses.a /usr/5lib/libtermcap.a"
- AC_MSG_RESULT(Please note that some screen refreshs may fail)
-])
-
-AC_DEFUN(AC_USE_OSF1_CURSES, [
- AC_MSG_RESULT(Using OSF1 curses)
- search_ncurses=false
- screen_manager="OSF1 curses"
- AC_DEFINE(HAS_CURSES)
- has_curses=true
- AC_DEFINE(NO_COLOR_CURSES)
- AC_DEFINE(USE_SYSV_CURSES)
- CURSES_LIBS="-lcurses"
-])
-
-AC_DEFUN(AC_USE_SYSV_CURSES, [
- AC_MSG_RESULT(Using SysV curses)
- AC_DEFINE(HAS_CURSES)
- has_curses=true
- AC_DEFINE(USE_SYSV_CURSES)
- search_ncurses=false
- screen_manager="SysV/curses"
- CURSES_LIBS="-lcurses"
-])
-
-dnl AC_ARG_WITH(bsd-curses,
-dnl [--with-bsd-curses Used to compile with bsd curses, not very fancy],
-dnl search_ncurses=false
-dnl screen_manager="Ultrix/cursesX"
-dnl if test $system = ULTRIX
-dnl then
-dnl THIS_CURSES=cursesX
-dnl else
-dnl THIS_CURSES=curses
-dnl fi
-dnl
-dnl CURSES_LIBS="-l$THIS_CURSES -ltermcap"
-dnl AC_DEFINE(HAS_CURSES)
-dnl has_curses=true
-dnl AC_DEFINE(USE_BSD_CURSES)
-dnl AC_MSG_RESULT(Please note that some screen refreshs may fail)
-dnl AC_WARN(Use of the bsdcurses extension has some)
-dnl AC_WARN(display/input problems.)
-dnl AC_WARN(Reconsider using xcurses)
-dnl)
-
-
-dnl
-dnl Parameters: directory filename cureses_LIBS curses_INCLUDEDIR nicename
-dnl
-AC_DEFUN(AC_NCURSES, [
- if $search_ncurses
- then
- if test -f $1/$2
- then
- AC_MSG_RESULT(Found ncurses on $1/$2)
-
- CURSES_LIBS="$3"
- AC_CHECK_LIB(ncurses, initscr, [
- ], [
- CHECKLIBS=`echo "$3"|sed 's/-lncurses/-lcurses/g'`
- AC_CHECK_LIB(curses, initscr, [
- CURSES_LIBS="$CHECKLIBS"
- ],, $CHECKLIBS)
- ], $CURSES_LIBS)
- CURSES_INCLUDEDIR="$4"
- search_ncurses=false
- screen_manager=$5
- AC_DEFINE(HAS_CURSES)
- has_curses=true
- has_ncurses=true
- AC_DEFINE(USE_NCURSES)
- fi
- fi
-])
-
-AC_DEFUN(AC_SEARCH_NCURSES, [
- AC_CHECKING("location of ncurses.h file")
-
- AC_NCURSES(/usr/include, ncurses.h, -lncurses,, "ncurses on /usr/include")
- AC_NCURSES(/usr/include/ncurses, ncurses.h, -lncurses, -I/usr/include/ncurses, "ncurses on /usr/include/ncurses")
- AC_NCURSES(/usr/local/include, ncurses.h, -L/usr/local/lib -lncurses, -I/usr/local/include, "ncurses on /usr/local")
- AC_NCURSES(/usr/pkg/include, ncurses.h, -L/usr/pkg/lib -lncurses, -I/usr/pkg/include, "ncurses on /usr/pkg")
- AC_NCURSES(/usr/contrib/include, ncurses.h, -L/usr/contrib/lib -lncurses, -I/usr/contrib/include, "ncurses on /usr/contrib")
- AC_NCURSES(/usr/local/include/ncurses, ncurses.h, -L/usr/local/lib -L/usr/local/lib/ncurses -lncurses, -I/usr/local/include/ncurses, "ncurses on /usr/local/include/ncurses")
-
- AC_NCURSES(/usr/local/include/ncurses, curses.h, -L/usr/local/lib -lncurses, -I/usr/local/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/local/.../ncurses")
-
- AC_NCURSES(/usr/include/ncurses, curses.h, -lncurses, -I/usr/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/include/ncurses")
-
- dnl
- dnl We couldn't find ncurses, try SysV curses
- dnl
- if $search_ncurses
- then
- AC_EGREP_HEADER(init_color, /usr/include/curses.h,
- AC_USE_SYSV_CURSES)
- AC_EGREP_CPP(USE_NCURSES,[
-#include <curses.h>
-#ifdef __NCURSES_H
-#undef USE_NCURSES
-USE_NCURSES
-#endif
-],[
- CURSES_INCLUDEDIR="$CURSES_INCLUDEDIR -DRENAMED_NCURSES"
- AC_DEFINE(HAS_CURSES)
- has_curses=true
- has_ncurses=true
- AC_DEFINE(USE_NCURSES)
- search_ncurses=false
- screen_manager="ncurses installed as curses"
-])
- fi
-
- dnl
- dnl Try SunOS 4.x /usr/5{lib,include} ncurses
- dnl The flags USE_SUNOS_CURSES, USE_BSD_CURSES and BUGGY_CURSES
- dnl should be replaced by a more fine grained selection routine
- dnl
- if $search_ncurses
- then
- if test -f /usr/5include/curses.h
- then
- AC_USE_SUNOS_CURSES
- fi
- fi
-
- dnl use whatever curses there happens to be
- if $search_ncurses
- then
- if test -f /usr/include/curses.h
- then
- CURSES_LIBS="-lcurses"
- AC_DEFINE(HAS_CURSES)
- has_curses=true
- search_ncurses=false
- screen_manager="curses"
- fi
- fi
-])
-
# up in those formats, and it was really hard to change the colors since you
# might have had to change them in tens of different places. So, then came
# this templating system.
-
+
# Now the /FORMATs don't have any colors in them, and they also have very
# little other styling. Most of the stuff you need to change is in this
# theme file. If you can't change something here, you can always go back
#############################################################################
-# default foreground color (%N) - 0 is the "default terminal color"
+# default foreground color (%N) - 0 is the "default terminal color"
default_color = 0;
+
# default foreground color when "0" can't be used,
# such as with bolds and reverses. white is default.
default_real_color = 7;
# these characters are automatically replaced with specified color
# (dark grey by default)
-replaces = { "[]<>=" = "%K$0-%n"; };
+replaces = {};
abstracts = {
##
##
# text to insert at the beginning of each non-message line
- line_start = "%B-%W!%B-%n ";
+ line_start = "*** ";
# timestamp styling, nothing by default
- timestamp = "$0-";
+ timestamp = "[$0-]";
# any kind of text that needs hilighting, default is to bold
hilight = "%_$0-%_";
error = "%R$0-%n";
# channel name is printed
- channel = "%_$0-%_";
+ channel = "%c$0-%n";
# nick is printed
- nick = "%_$0-%_";
+ nick = "%c$0-%n";
# nick host is printed
- nickhost = "[$0-]";
+ nickhost = "($0-)";
# server name is printed
- server = "%_$0-%_";
+ server = "$0-";
# some kind of comment is printed
- comment = "[$0-]";
+ comment = "($0-)";
# reason for something is printed (part, quit, kick, ..)
reason = "{comment $0-}";
##
# highlighted nick/host is printed (joins)
- channick_hilight = "%C$0-%n";
+ channick_hilight = "%c$0-%n";
chanhost_hilight = "{nickhost %c$0-%n}";
# nick/host is printed (parts, quits, etc.)
- channick = "%c$0-%n";
+ channick = "$0-";
chanhost = "{nickhost $0-}";
# highlighted channel name is printed
channelhilight = "%c$0-%n";
# ban/ban exception/invite list mask is printed
- ban = "%c$0-%n";
+ ban = "$0-";
##
## messages
##
# the basic styling of how to print message, $0 = nick mode, $1 = nick
- msgnick = "<$0$1-> %|";
+ msgnick = "%c<$0$1->%n %|";
# message from you is printed. "msgownnick" specifies the styling of the
# nick ($0 part in msgnick) and "ownmsgnick" specifies the styling of the
# Example2.2: But you still want to keep <> grey for other messages:
# pubmsgnick = "%K{msgnick $0 $1-%K}%n";
# pubmsgmenick = "%K{msgnick $0 $1-%K}%n";
- # pubmsghinick = "%K{msgnick $1 $0$2-%n%K}%n";
+ # pubmsghinick = "%K{msgnick $1 $0$2-%K}%n";
# ownprivmsgnick = "%K{msgnick $0-%K}%n";
# privmsgnick = "%K{msgnick %R$0-%K}%n";
# $0 = nick mode, $1 = nick
- ownmsgnick = "{msgnick $0 $1-}";
- ownnick = "%W$0-%n";
+ ownmsgnick = "{msgnick $0 $1-}%g";
+ ownnick = "$0-";
# public message in channel, $0 = nick mode, $1 = nick
pubmsgnick = "{msgnick $0 $1-}";
- pubnick = "%N$0-%n";
+ pubnick = "$0-";
# public message in channel meant for me, $0 = nick mode, $1 = nick
- pubmsgmenick = "{msgnick $0 $1-}";
- menick = "%Y$0-%n";
+ pubmsgmenick = "%g<$0$1->%n %|";
+ menick = "$0-";
# public highlighted message in channel
# $0 = highlight color, $1 = nick mode, $2 = nick
- pubmsghinick = "{msgnick $1 $0$2-%n}";
+ pubmsghinick = "{msgnick $1 $2-}$0";
# channel name is printed with message
- msgchannel = "%K:%c$0-%n";
+ msgchannel = "%w|%c$0-";
# private message, $0 = nick, $1 = host
- privmsg = "[%R$0%K(%r$1-%K)%n] ";
+ privmsg = "*%c$0%n* ";
# private message from you, $0 = "msg", $1 = target nick
- ownprivmsg = "[%r$0%K(%R$1-%K)%n] ";
+ ownprivmsg = "->*%c$1-%n* %g";
# own private message in query
- ownprivmsgnick = "{msgnick $0-}";
- ownprivnick = "%W$0-%n";
+ ownprivmsgnick = "{msgnick $0-}%g";
+ ownprivnick = "$0-";
# private message in query
- privmsgnick = "{msgnick %R$0-%n}";
+ privmsgnick = "{msgnick $0-%n}";
##
## Actions (/ME stuff)
##
# used internally by this theme
- action_core = "%W * $0-%n";
+ action_core = "%Y* $0-";
# generic one that's used by most actions
action = "{action_core $0-} ";
ownaction = "{action $0-}";
# own action with target, both private/public
- ownaction_target = "{action_core $0}%K:%c$1%n ";
+ ownaction_target = "{action_core $0}{msgchannel $1} ";
# private action sent by others
- pvtaction = "%W (*) $0-%n ";
+ pvtaction = " (*) $0- ";
pvtaction_query = "{action $0-}";
# public action sent by others
##
# notices
- ownnotice = "[%r$0%K(%R$1-%K)]%n ";
- notice = "%K-%M$0-%K-%n ";
- pubnotice_channel = "%K:%m$0-";
- pvtnotice_host = "%K(%m$0-%K)";
- servernotice = "%g!$0-%n ";
+ ownnotice = "-%c$1-%n- ";
+ notice = "-%C$0-%n- ";
+ pubnotice_channel = "{msgchannel $0}";
+ pvtnotice_host = "";
+ servernotice = "{notice $0-}";
# CTCPs
- ownctcp = "[%r$0%K(%R$1-%K)] ";
- ctcp = "%g$0-%n";
+ ownctcp = "[$0$1-] ";
+ ctcp = "$0-";
# wallops
- wallop = "%W$0-%n: ";
- wallop_nick = "%n$0-";
- wallop_action = "%W * $0-%n ";
+ wallop = "$0-: ";
+ wallop_nick = "$0-";
+ wallop_action = " * $0- ";
# netsplits
- netsplit = "%R$0-%n";
+ netsplit = "%c$0-%n";
netjoin = "%C$0-%n";
# /names list
- names_nick = "[%_$0%_$1-] ";
- names_users = "[%g$0-%n]";
- names_channel = "%G$0-%n";
+ names_nick = "%n%_$0%_$1- | ";
+ names_users = "($0-)";
+ names_channel = "{channel $0-}";
# DCC
- dcc = "%g$0-%n";
+ dcc = "$0-";
dccfile = "%_$0-%_";
# DCC chat, own msg/action
- dccownmsg = "[%r$0%K($1-%K)%n] ";
- dccownnick = "%R$0-%n";
+ dccownmsg = "*%c=$1-%n*> %g";
dccownaction = "{action $0-}";
- dccownaction_target = "{action_core $0}%K:%c$1%n ";
+ dccownaction_target = "{ownaction_target $0-}";
# DCC chat, others
- dccmsg = "[%G$1-%K(%g$0%K)%n] ";
- dccquerynick = "%G$0-%n";
- dccaction = "%W (*dcc*) $0-%n %|";
+ dccmsg = "*%c=$1-%n* ";
+ dccquerynick = "$0-";
+ dccaction = " (*dcc*) $0- %|";
##
## statusbar
sbact = "{sb {sbact_act $0}{sbact_det $1}}";
sbact_act = "Act: $0-";
sbact_det = " Det: $0-";
+
+};
+
+#
+# Some default formats how to print stuff on screen
+#
+formats = {
+ "fe-common/core" = {
+ endofnames = "{channel $0}: Total of {hilight $1} nicks {comment {hilight $2} ops, {hilight $4} normal}";
+ line_start_irssi = "{line_start}";
+ };
};
/* category changed */
if (items > 0) {
if (!header) {
- printtext(NULL, NULL, MSGLEVEL_CLIENTCRAP, "Commands:");
+ printtext(NULL, NULL, MSGLEVEL_CLIENTCRAP, "Irssi commands:");
header = TRUE;
}
if (last->category != NULL) {
/* display the last category */
if (!header) {
printtext(NULL, NULL, MSGLEVEL_CLIENTCRAP,
- "Commands:");
+ "Irssi commands:");
header = TRUE;
}
{ NULL, "Windows", 0 },
{ "line_start", "{line_start}", 0 },
-/* { "line_start_irssi", "{line_start}{hilight Irssi:} ", 0 }, */
- { "line_start_irssi", "{line_start}", 0 },
+ { "line_start_irssi", "{line_start}{hilight Irssi:} ", 0 },
{ "timestamp", "{timestamp $Z} ", 6, { 1, 1, 1, 1, 1, 1 } },
{ "servertag", "[$0] ", 1, { 0 } },
{ "daychange", "Day changed to $[-2.0]{0} $3 $2", 4, { 1, 1, 1, 0 } },
{ "current_channel", "Current channel {channel $0}", 1, { 0 } },
{ "names", "{names_users Users {names_channel $0}} $1", 2, { 0, 0 } },
{ "names_nick", "{names_nick $0 $1}", 2, { 0, 0 } },
- { "endofnames", "{channel $0}: Total of {hilight $1} nicks {comment {hilight $2} ops, {hilight $3} voices, {hilight $4} normal}", 5, { 0, 1, 1, 1, 1 } },
+ { "endofnames", "{channel $0}: Total of {hilight $1} nicks {comment {hilight $2} ops, {hilight $3} voices, {hilight $4} normal}", 5, { 0, 1, 1, 1, 1 } },
{ "chanlist_header", "You are on the following channels:", 0 },
{ "chanlist_line", "{channel $[-10]0} %|+$1 ($2): $3", 4, { 0, 0, 0, 0 } },
{ "chansetup_not_found", "Channel {channel $0} not found", 2, { 0, 0 } },
#include "rawlog.h"
#include "misc.h"
#include "settings.h"
+#include "curses.h"
#include "servers-setup.h"
int silc_client_ask_yes_no(SilcClient client, char *prompt)
{
-#if 0
- SilcClientInternal app = (SilcClientInternal)client->application;
char answer[4];
int ret;
again:
- silc_screen_input_reset(app->screen);
-
/* Print prompt */
- wattroff(app->screen->input_win, A_INVIS);
- silc_screen_input_print_prompt(app->screen, prompt);
+ attroff(A_INVIS);
+ // silc_screen_input_print_prompt(app->screen, prompt);
/* Get string */
memset(answer, 0, sizeof(answer));
echo();
- wgetnstr(app->screen->input_win, answer, sizeof(answer));
+ getnstr(answer, sizeof(answer));
if (!strncasecmp(answer, "yes", strlen(answer)) ||
!strncasecmp(answer, "y", strlen(answer))) {
ret = TRUE;
!strncasecmp(answer, "n", strlen(answer))) {
ret = FALSE;
} else {
- silc_say(client, app->conn, "Type yes or no");
+ printtext(NULL, NULL, MSGLEVEL_CLIENTERROR, "Type yes or no");
goto again;
}
noecho();
- silc_screen_input_reset(app->screen);
+ // silc_screen_input_reset(app->screen);
return ret;
-#endif
- return 0;
}
/* Lists supported (builtin) ciphers */
server->channels_join = (void *) silc_channels_join;
}
+/*
+ * "event join". Joined to a channel.
+ */
+
SILC_CHANNEL_REC *silc_channel_find_entry(SILC_SERVER_REC *server,
SilcChannelEntry entry)
{
channel = va_arg(va, SilcChannelEntry);
if (client == server->conn->local_entry) {
- /* you joined to channel */
+ /* You joined to channel */
chanrec = silc_channel_find(server, channel->channel_name);
if (chanrec != NULL && !chanrec->joined)
chanrec->entry = channel;
client->username == NULL ? "" : client->username);
}
+/*
+ * "event leave". Left a channel.
+ */
+
static void event_leave(SILC_SERVER_REC *server, va_list va)
{
SILC_CHANNEL_REC *chanrec;
channel = va_arg(va, SilcChannelEntry);
signal_emit("message part", 5, server, channel->channel_name,
- client->nickname,
- client->username == NULL ? "" : client->username, "");
+ client->nickname, client->username ? client->username : "",
+ client->nickname);
chanrec = silc_channel_find_entry(server, channel);
if (chanrec != NULL) {
}
}
+/*
+ * "event signoff". Left the network.
+ */
+
static void event_signoff(SILC_SERVER_REC *server, va_list va)
{
SilcClientEntry client;
GSList *nicks, *tmp;
+ char *message;
client = va_arg(va, SilcClientEntry);
+ message = va_arg(va, char *);
signal_emit("message quit", 4, server, client->nickname,
- client->username == NULL ? "" : client->username, "");
+ client->username ? client->username : "",
+ message ? message : "");
nicks = nicklist_get_same_unique(SERVER(server), client);
for (tmp = nicks; tmp != NULL; tmp = tmp->next->next) {
}
}
+/*
+ * "event topic". Changed topic.
+ */
+
static void event_topic(SILC_SERVER_REC *server, va_list va)
{
SILC_CHANNEL_REC *chanrec;
topic, client->nickname, client->username);
}
+/*
+ * "event invite". Invited or modified invite list.
+ */
+
static void event_invite(SILC_SERVER_REC *server, va_list va)
{
SilcClientEntry client;
client->nickname, client->username);
}
+/*
+ * "event nick". Changed nickname.
+ */
+
static void event_nick(SILC_SERVER_REC *server, va_list va)
{
SilcClientEntry oldclient, newclient;
oldclient, oldclient->nickname,
newclient, newclient->nickname);
- signal_emit("message nick", 4, server, newclient->nickname,
+ signal_emit("message nick", 4, server, newclient->nickname,
oldclient->nickname, newclient->username);
}
+/*
+ * "event cmode". Changed channel mode.
+ */
+
static void event_cmode(SILC_SERVER_REC *server, va_list va)
{
SILC_CHANNEL_REC *chanrec;
g_free(mode);
}
+/*
+ * "event cumode". Changed user's mode on channel.
+ */
+
static void event_cumode(SILC_SERVER_REC *server, va_list va)
{
SILC_CHANNEL_REC *chanrec;
g_free(modestr);
}
+/*
+ * "event motd". Received MOTD.
+ */
+
static void event_motd(SILC_SERVER_REC *server, va_list va)
{
char *text = va_arg(va, char *);
printtext_multiline(server, NULL, MSGLEVEL_CRAP, "%s", text);
}
+/*
+ * "event channel_change". Channel ID has changed.
+ */
+
static void event_channel_change(SILC_SERVER_REC *server, va_list va)
{
}
+/*
+ * "event server_signoff". Server has quit the network.
+ */
+
static void event_server_signoff(SILC_SERVER_REC *server, va_list va)
{
}
+/*
+ * "event kick". Someone was kicked from channel.
+ */
+
static void event_kick(SILC_SERVER_REC *server, va_list va)
{
}
+/*
+ * "event kill". Someone was killed from the network.
+ */
+
static void event_kill(SILC_SERVER_REC *server, va_list va)
{
}
+/*
+ * "event ban". Someone was banned or ban list was modified.
+ */
+
static void event_ban(SILC_SERVER_REC *server, va_list va)
{
cmd_return_error(CMDERR_CHAN_NOT_FOUND);
signal_emit("message part", 5, server, chanrec->name,
- server->nick, "", "");
+ server->nick, server->conn->local_entry->username, "");
silc_command_exec(server, "LEAVE", chanrec->name);
signal_stop();
# preparing irssi
cd irssi
-./autogen.sh 2>/dev/null 1>/dev/null
+sh autogen.sh 2>/dev/null 1>/dev/null
cd ..
file=irssi/irssi-version.h.in
version_date=`date +%Y%m%d`