From: Pekka Riikonen Date: Fri, 25 May 2001 14:45:10 +0000 (+0000) Subject: updates. X-Git-Tag: robodoc-323~294 X-Git-Url: http://git.silcnet.org/gitweb/?a=commitdiff_plain;h=503a00a28b53f49f861035e3de759aed7ffc8111;p=silc.git updates. --- diff --git a/CHANGES b/CHANGES index 7dc6e698..11a70cf5 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,21 @@ +Fri May 25 14:38:38 EEST 2001 Pekka Riikonen + + * 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 * Imported a modified version of Irssi client to the source tree. diff --git a/apps/irssi/config b/apps/irssi/config index 3213db46..ccdd7599 100644 --- a/apps/irssi/config +++ b/apps/irssi/config @@ -55,5 +55,5 @@ settings = { use_msgs_window = "no"; autocreate_windows = "no"; }; - "fe-text" = { topicbar = "no"; mail_counter = "yes"; }; + "fe-text" = { topicbar = "no"; mail_counter = "yes"; indent = "8"; }; }; diff --git a/apps/irssi/configure.in b/apps/irssi/configure.in index a1076cd5..30e418c3 100644 --- a/apps/irssi/configure.in +++ b/apps/irssi/configure.in @@ -142,6 +142,7 @@ AC_ARG_ENABLE(perl, want_perl=no fi, want_perl=yes) +want_perl=no AC_ARG_WITH(tests, [ --with-tests Run all the tests], diff --git a/apps/irssi/curses.m4 b/apps/irssi/curses.m4 deleted file mode 100644 index 7865b1cb..00000000 --- a/apps/irssi/curses.m4 +++ /dev/null @@ -1,295 +0,0 @@ -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 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 -dnl #else -dnl #include -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 -#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 -]) - diff --git a/apps/irssi/default.theme b/apps/irssi/default.theme index 501a1617..77bf54bf 100644 --- a/apps/irssi/default.theme +++ b/apps/irssi/default.theme @@ -10,7 +10,7 @@ # 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 @@ -47,15 +47,16 @@ ############################################################################# -# 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 = { ## @@ -63,10 +64,10 @@ 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-%_"; @@ -75,19 +76,19 @@ abstracts = { 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-}"; @@ -100,25 +101,25 @@ abstracts = { ## # 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 @@ -132,48 +133,48 @@ abstracts = { # 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-} "; @@ -182,10 +183,10 @@ abstracts = { 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 @@ -197,44 +198,43 @@ abstracts = { ## # 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 @@ -257,4 +257,15 @@ abstracts = { 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}"; + }; }; diff --git a/apps/irssi/src/fe-common/core/fe-help.c b/apps/irssi/src/fe-common/core/fe-help.c index c2e132de..fa90473d 100644 --- a/apps/irssi/src/fe-common/core/fe-help.c +++ b/apps/irssi/src/fe-common/core/fe-help.c @@ -166,7 +166,7 @@ static void show_help(const char *data) /* 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) { @@ -217,7 +217,7 @@ static void show_help(const char *data) /* display the last category */ if (!header) { printtext(NULL, NULL, MSGLEVEL_CLIENTCRAP, - "Commands:"); + "Irssi commands:"); header = TRUE; } diff --git a/apps/irssi/src/fe-common/core/module-formats.c b/apps/irssi/src/fe-common/core/module-formats.c index 286c27b9..0f37ccfd 100644 --- a/apps/irssi/src/fe-common/core/module-formats.c +++ b/apps/irssi/src/fe-common/core/module-formats.c @@ -28,8 +28,7 @@ FORMAT_REC fecommon_core_formats[] = { { 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 } }, @@ -86,7 +85,7 @@ FORMAT_REC fecommon_core_formats[] = { { "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 } }, diff --git a/apps/irssi/src/silc/core/clientutil.c b/apps/irssi/src/silc/core/clientutil.c index ee7fcec0..8b835b19 100644 --- a/apps/irssi/src/silc/core/clientutil.c +++ b/apps/irssi/src/silc/core/clientutil.c @@ -31,6 +31,7 @@ #include "rawlog.h" #include "misc.h" #include "settings.h" +#include "curses.h" #include "servers-setup.h" @@ -46,22 +47,18 @@ 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; @@ -69,16 +66,14 @@ int silc_client_ask_yes_no(SilcClient client, char *prompt) !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 */ diff --git a/apps/irssi/src/silc/core/silc-channels.c b/apps/irssi/src/silc/core/silc-channels.c index 9cfe7696..f57ff33c 100644 --- a/apps/irssi/src/silc/core/silc-channels.c +++ b/apps/irssi/src/silc/core/silc-channels.c @@ -93,6 +93,10 @@ static void sig_connected(SILC_SERVER_REC *server) 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) { @@ -121,7 +125,7 @@ static void event_join(SILC_SERVER_REC *server, va_list va) 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; @@ -144,6 +148,10 @@ static void event_join(SILC_SERVER_REC *server, va_list va) 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; @@ -155,8 +163,8 @@ static void event_leave(SILC_SERVER_REC *server, va_list va) 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) { @@ -166,15 +174,22 @@ static void event_leave(SILC_SERVER_REC *server, va_list va) } } +/* + * "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) { @@ -185,6 +200,10 @@ static void event_signoff(SILC_SERVER_REC *server, va_list va) } } +/* + * "event topic". Changed topic. + */ + static void event_topic(SILC_SERVER_REC *server, va_list va) { SILC_CHANNEL_REC *chanrec; @@ -207,6 +226,10 @@ static void event_topic(SILC_SERVER_REC *server, va_list va) 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; @@ -219,6 +242,10 @@ static void event_invite(SILC_SERVER_REC *server, va_list va) client->nickname, client->username); } +/* + * "event nick". Changed nickname. + */ + static void event_nick(SILC_SERVER_REC *server, va_list va) { SilcClientEntry oldclient, newclient; @@ -230,10 +257,14 @@ static void event_nick(SILC_SERVER_REC *server, va_list va) 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; @@ -263,6 +294,10 @@ static void event_cmode(SILC_SERVER_REC *server, va_list va) 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; @@ -302,6 +337,10 @@ static void event_cumode(SILC_SERVER_REC *server, va_list va) g_free(modestr); } +/* + * "event motd". Received MOTD. + */ + static void event_motd(SILC_SERVER_REC *server, va_list va) { char *text = va_arg(va, char *); @@ -310,26 +349,46 @@ static void event_motd(SILC_SERVER_REC *server, va_list va) 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) { @@ -354,7 +413,7 @@ static void command_part(const char *data, SILC_SERVER_REC *server, 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(); diff --git a/prepare b/prepare index 041f9e5c..78acb8d9 100755 --- a/prepare +++ b/prepare @@ -56,7 +56,7 @@ echo "#define SILC_PROTOCOL_VERSION_STRING \"SILC-1.0-$version\"" >>$file # 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`