diff --git a/Changelog b/Changelog index 17b0b96..005fdd6 100644 --- a/Changelog +++ b/Changelog @@ -1,5 +1,8 @@ [Changes 1.2c01] +* Add /FSET WOHIS_LOGGEDIN for services login info on hybrid, ratbox and + ircu. (caf) + * Add sanity checking of incoming nicknames. (caf) * /MV (massvoice) shouldn't send +v for already-voiced users. (caf) diff --git a/include/color.h b/include/color.h index 8b2dc1e..ef93c50 100644 --- a/include/color.h +++ b/include/color.h @@ -322,6 +322,7 @@ #define DEFAULT_FORMAT_WHOIS_SERVICE_FSET "%K| %Ws%nervice : $0 - $1-" #define DEFAULT_FORMAT_WHOIS_HELP_FSET "%K| %Wh%nelp : $0 - $1-" #define DEFAULT_FORMAT_WHOIS_REGISTER_FSET "%K| %Wr%negister : $0 - $1-" +#define DEFAULT_FORMAT_WHOIS_LOGGEDIN_FSET "%K: %Wl%noggedin : $0 $2- %W$1%n" #define DEFAULT_FORMAT_WIDELIST_FSET "$1-" #define DEFAULT_FORMAT_WINDOW_SET_FSET "$0-" @@ -746,6 +747,7 @@ #define DEFAULT_FORMAT_WHOIS_SERVICE_FSET ansi?"%K| %Ws%nervice : $0 - $1-":"| service : $0 - $1-" #define DEFAULT_FORMAT_WHOIS_HELP_FSET ansi?"%K| %Wh%nelp : $0 - $1-":"| help : $0 - $1-" #define DEFAULT_FORMAT_WHOIS_REGISTER_FSET ansi?"%K| %Wr%negister : $0 - $1-":"| register : $0 - $1-" +#define DEFAULT_FORMAT_WHOIS_LOGGEDIN_FSET ansi?"%K: %Wl%noggedin : $0 $2- %W$1%n":": loggedin : $0 $2- $1" #else #define DEFAULT_FORMAT_WHOIS_AWAY_FSET ansi?"%K| %Wa%nway : $0 - $1-":"| away : $0 - $1-" #define DEFAULT_FORMAT_WHOIS_BOT_FSET ansi?"%g| %Wb%not : A:$0 P:$1 [$2] $3-":"| bot : A:$0 P:$1 [$2] $3-" @@ -770,6 +772,7 @@ #define DEFAULT_FORMAT_WHOIS_SERVICE_FSET ansi?"%K| %Ws%nervice : $0 - $1-":"| service : $0 - $1-" #define DEFAULT_FORMAT_WHOIS_HELP_FSET ansi?"%K| %Wh%nelp : $0 - $1-":"| help : $0 - $1-" #define DEFAULT_FORMAT_WHOIS_REGISTER_FSET ansi?"%K| %Wr%negister : $0 - $1-":"| register : $0 - $1-" +#define DEFAULT_FORMAT_WHOIS_LOGGEDIN_FSET ansi?"%K: %Wl%noggedin : $0 $2- %W$1%n":": loggedin : $0 $2- $1" #endif #define DEFAULT_FORMAT_WIDELIST_FSET "$1-" diff --git a/include/cset.h b/include/cset.h index 0c007fe..23010d1 100644 --- a/include/cset.h +++ b/include/cset.h @@ -372,6 +372,7 @@ FORMAT_WHOIS_FRIEND_FSET, FORMAT_WHOIS_HEADER_FSET, FORMAT_WHOIS_HELP_FSET, FORMAT_WHOIS_IDLE_FSET, +FORMAT_WHOIS_LOGGEDIN_FSET, FORMAT_WHOIS_NAME_FSET, FORMAT_WHOIS_NICK_FSET, FORMAT_WHOIS_OPER_FSET, diff --git a/source/fset.c b/source/fset.c index c633da7..9610f93 100644 --- a/source/fset.c +++ b/source/fset.c @@ -249,6 +249,7 @@ IrcVariable fset_array[] = { "WHOIS_HEADER", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0}, { "WHOIS_HELP", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0}, { "WHOIS_IDLE", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0}, + { "WHOIS_LOGGEDIN", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0}, { "WHOIS_NAME", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0}, { "WHOIS_NICK", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0}, { "WHOIS_OPER", 0,STR_TYPE_VAR, 0, NULL, NULL, 0, 0}, @@ -751,6 +752,7 @@ void create_fsets(Window *win, int ansi) fset_string_var(FORMAT_WHOIS_FRIEND_FSET, DEFAULT_FORMAT_WHOIS_FRIEND_FSET); fset_string_var(FORMAT_WHOIS_HEADER_FSET, DEFAULT_FORMAT_WHOIS_HEADER_FSET); fset_string_var(FORMAT_WHOIS_IDLE_FSET, DEFAULT_FORMAT_WHOIS_IDLE_FSET); + fset_string_var(FORMAT_WHOIS_LOGGEDIN_FSET, DEFAULT_FORMAT_WHOIS_LOGGEDIN_FSET); fset_string_var(FORMAT_WHOIS_SHIT_FSET, DEFAULT_FORMAT_WHOIS_SHIT_FSET); fset_string_var(FORMAT_WHOIS_SIGNON_FSET, DEFAULT_FORMAT_WHOIS_SIGNON_FSET); fset_string_var(FORMAT_WHOIS_NAME_FSET, DEFAULT_FORMAT_WHOIS_NAME_FSET); diff --git a/source/numbers.c b/source/numbers.c index c3dd310..8626596 100644 --- a/source/numbers.c +++ b/source/numbers.c @@ -913,6 +913,12 @@ void numbered_command(char *from, int comm, char **ArgList) funny_mode(from, ArgList); break; } + case 330: /* #define RPL_WHOISLOGGEDIN 330 (hybrid, ratbox, ircu) */ + { + if (do_hook(current_numeric, "%s %s %s %s", from, ArgList[0], ArgList[1], ArgList[2])) + put_it("%s", convert_output_format(fget_string_var(FORMAT_WHOIS_LOGGEDIN_FSET),"%s %s %s", ArgList[0], ArgList[1], ArgList[2])); + break; + } case 338: /* #define RPL_WHOISACTUALLY 338 (hybrid, ratbox, bahamut) */ case 378: /* #define RPL_WHOISHOST 378 (unreal, freenode) */