Changeset 3449

Show
Ignore:
Timestamp:
01/09/06 18:50:38 (3 years ago)
Author:
morris
Message:

Add /serverinfo command

Display error messages for all commands that can only be used while connected

Count received/transferred bytes again

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • wire/trunk/Makefile.in

    r3431 r3449  
    2222                                  $(objdir)/ignores.o \ 
    2323                                  $(objdir)/main.o \ 
     24                                  $(objdir)/server.o \ 
    2425                                  $(objdir)/terminal.o \ 
    2526                                  $(objdir)/transfers.o \ 
     
    6162configure: configure.in 
    6263        autoconf 
    63         rm -rf autom4te.cache 
    6464 
    6565config.h.in: configure.in 
     
    6767        touch $@ 
    6868        rm -f $@~ 
    69         rm -rf autom4te.cache 
    7069 
    7170$(rundir)/wire: $(WIREOBJECTS) libwired/run/lib/libwired.a 
  • wire/trunk/NEWS

    r3296 r3449  
    1414- Add /ping command 
    1515- Add /charset command to change character set during execution, remove -c flag 
     16- Add /serverinfo command 
    1617 
    17181.0.2 
  • wire/trunk/man/wire.1

    r3296 r3449  
    236236.Pp 
    237237Example: /search .jpg 
     238.It Nm serverinfo 
     239Prints information about the current server. 
     240.Pp 
     241Example: /serverinfo 
    238242.It Nm start Ar transfer 
    239243Starts a previously queued transfer by id. 
  • wire/trunk/wire/client.c

    r3366 r3449  
    3636#include "ignores.h" 
    3737#include "main.h" 
     38#include "server.h" 
    3839#include "transfers.h" 
    3940#include "users.h" 
     
    8081unsigned int                                            wr_port; 
    8182 
    82 wi_string_t                                                     *wr_server; 
    83 double                                                          wr_protocol; 
     83wr_server_t                                                     *wr_server; 
    8484 
    8585wi_string_t                                                     *wr_nick; 
     
    240240 
    241241next: 
     242                wi_release(ip); 
    242243                wi_release(socket); 
    243244                 
     
    264265                        wr_host); 
    265266        } 
     267 
     268        wi_release(wr_server); 
    266269 
    267270        wi_release(wr_host); 
     
    320323        wi_parse_wired_message(string, &message, &arguments); 
    321324        wi_release(string); 
    322          
     325 
    323326        switch(message) { 
    324327                case 200:               wr_msg_200(arguments);          break; 
     
    431434 
    432435        wi_release(arguments); 
     436 
     437        wr_received_bytes += wi_string_length(buffer); 
    433438         
    434439        return message; 
     
    447452         
    448453        result = wr_send_command_on_socket(wr_socket, WI_STR("%@"), string); 
     454 
     455        if(result > 0) 
     456                wr_transferred_bytes += wi_string_length(string); 
    449457         
    450458        wi_release(string); 
     
    484492        double                  protocol; 
    485493         
    486         wr_protocol = wi_string_double_value(WI_ARRAY(arguments, 1)); 
    487494        protocol = wi_string_double_value(wr_protocol_version_string); 
    488495         
    489         wi_release(wr_server); 
    490         wr_server = wi_retain(WI_ARRAY(arguments, 2)); 
     496        wr_server = wr_server_init(wr_server_alloc()); 
     497        wr_server->version = wi_retain(WI_ARRAY(arguments, 0)); 
     498        wr_server->protocol = wi_string_double_value(WI_ARRAY(arguments, 1)); 
     499        wr_server->name = wi_retain(WI_ARRAY(arguments, 2)); 
     500        wr_server->description = wi_retain(WI_ARRAY(arguments, 3)); 
     501        wr_server->startdate = wi_date_init_with_iso8601_string(wi_date_alloc(), WI_ARRAY(arguments, 4)); 
     502        wr_server->files = wi_string_unsigned_int_value(WI_ARRAY(arguments, 4)); 
     503        wr_server->size = wi_string_unsigned_int_value(WI_ARRAY(arguments, 5)); 
     504 
     505        wr_printf_prefix(WI_STR("now %.2f"), wi_time_interval()); 
     506        wr_printf_prefix(WI_STR("date = %@, interval = %.2f"), WI_ARRAY(arguments, 4), wi_date_time_interval(wr_server->startdate)); 
     507        wr_printf_prefix(WI_STR("diff = %.2f"), wi_time_interval() - wi_date_time_interval(wr_server->startdate)); 
    491508 
    492509        wr_draw_divider(); 
    493510         
    494511        if(!wr_logged_in) { 
    495                 if(wr_protocol > protocol) { 
     512                if(wr_server->protocol > protocol) { 
    496513                        wr_wprintf_prefix(wr_console_window, WI_STR("Server protocol version %.1f may not be fully compatible with client protocol version %.1f"), 
    497                                 wr_protocol, protocol); 
     514                                wr_server->protocol, protocol); 
    498515                } 
    499516 
     
    517534 
    518535static void wr_msg_201(wi_array_t *arguments) { 
    519         wr_wprintf_prefix(wr_console_window, WI_STR("Logged in, welcome to %@"), wr_server); 
     536        wr_wprintf_prefix(wr_console_window, WI_STR("Logged in, welcome to %@"), wr_server->name); 
    520537} 
    521538 
     
    734751        unsigned int    n, i, count; 
    735752         
    736         wr_printf_prefix(WI_STR("User info for %@:"), 
     753        wr_printf_prefix(WI_STR("User info:"), 
    737754                WI_ARRAY(arguments, 4)); 
    738755 
    739         if(wr_protocol >= 1.1) 
     756        wr_printf_block(WI_STR("Nick:        %@"), WI_ARRAY(arguments, 4)); 
     757 
     758        if(wr_server->protocol >= 1.1) 
    740759                wr_printf_block(WI_STR("Status:      %@"), WI_ARRAY(arguments, 15)); 
    741760 
     
    10661085                        wr_printf_block(WI_STR("Checksum:  %@"), WI_ARRAY(arguments, 5)); 
    10671086 
    1068                 if(wr_protocol >= 1.1) 
     1087                if(wr_server->protocol >= 1.1) 
    10691088                        wr_printf_block(WI_STR("Comment:   %@"), WI_ARRAY(arguments, 6)); 
    10701089        } 
  • wire/trunk/wire/client.h

    r3312 r3449  
    2929#ifndef WR_CLIENT_H 
    3030#define WR_CLIENT_H 1 
     31 
     32#include "server.h" 
    3133 
    3234#define WR_MESSAGE_SEPARATOR                    '\4' 
     
    6365extern unsigned int                                             wr_port; 
    6466 
    65 extern wi_string_t                                              *wr_server; 
    66 extern double                                                   wr_protocol; 
     67extern wr_server_t                                              *wr_server; 
    6768 
    6869extern wi_string_t                                              *wr_nick; 
  • wire/trunk/wire/commands.c

    r3385 r3449  
    8585static void                                             wr_cmd_save(wi_array_t *); 
    8686static void                                             wr_cmd_search(wi_array_t *); 
     87static void                                             wr_cmd_serverinfo(wi_array_t *); 
    8788static void                                             wr_cmd_start(wi_array_t *); 
    8889static void                                             wr_cmd_stat(wi_array_t *); 
     
    100101        { "ban", 
    101102          true, "<user> <message>", 
    102           2, 1, WR_COMPLETER_NICKNAME, 
     103          true, 2, 1, WR_COMPLETER_NICKNAME, 
    103104          wr_cmd_ban }, 
    104105        { "broadcast", 
    105106          true, "<message>", 
    106           1, 0, WR_COMPLETER_NICKNAME, 
     107          true, 1, 0, WR_COMPLETER_NICKNAME, 
    107108          wr_cmd_broadcast }, 
    108109        { "cd", 
    109110          true, "<path>", 
    110           1, -1, WR_COMPLETER_DIRECTORY, 
     111          true, 1, -1, WR_COMPLETER_DIRECTORY, 
    111112          wr_cmd_cd }, 
    112113        { "charset", 
    113114          true, "<charset>", 
    114           1, -1, WR_COMPLETER_NONE, 
     115          false, 1, -1, WR_COMPLETER_NONE, 
    115116          wr_cmd_charset }, 
    116117        { "clear", 
    117118          true, "", 
    118           0, -1, WR_COMPLETER_NONE, 
     119          false, 0, -1, WR_COMPLETER_NONE, 
    119120          wr_cmd_clear }, 
    120121        { "clearnews", 
    121122          true, "", 
    122           0, -1, WR_COMPLETER_NONE, 
     123          true, 0, -1, WR_COMPLETER_NONE, 
    123124          wr_cmd_clearnews }, 
    124125        { "close", 
    125126          true, "",      
    126           0, -1, WR_COMPLETER_NONE, 
     127          false, 0, -1, WR_COMPLETER_NONE, 
    127128          wr_cmd_close }, 
    128129        { "comment", 
    129130          true, "<path> <comment>", 
    130           1, 1, WR_COMPLETER_FILENAME, 
     131          true, 1, 1, WR_COMPLETER_FILENAME, 
    131132          wr_cmd_comment }, 
    132133        { "connect", 
    133134          false, "<server> [-l <login>] [-p <password>] [-P <port>]", 
    134           1, -1, WR_COMPLETER_NONE, 
     135          false, 1, -1, WR_COMPLETER_NONE, 
    135136          wr_cmd_open }, 
    136137        { "delete", 
    137138          true, "<path>", 
    138           1, -1, WR_COMPLETER_FILENAME, 
     139          true, 1, -1, WR_COMPLETER_FILENAME, 
    139140          wr_cmd_rm }, 
    140141        { "disconnect", 
    141142          true, "",      
    142           0, -1, WR_COMPLETER_NONE, 
     143          true, 0, -1, WR_COMPLETER_NONE, 
    143144          wr_cmd_disconnect }, 
    144145        { "echo", 
    145146          false, "<text>", 
    146           1, 0, WR_COMPLETER_NONE, 
     147          false, 1, 0, WR_COMPLETER_NONE, 
    147148          wr_cmd_echo }, 
    148149        { "exit", 
    149150          false, "", 
    150           0, -1, WR_COMPLETER_NONE, 
     151          false, 0, -1, WR_COMPLETER_NONE, 
    151152          wr_cmd_quit }, 
    152153        { "get", 
    153154          true, "<path>", 
    154           1, -1, WR_COMPLETER_FILENAME, 
     155          true, 1, -1, WR_COMPLETER_FILENAME, 
    155156          wr_cmd_get }, 
    156157        { "help", 
    157158          true, "[<command>]", 
    158           0, -1, WR_COMPLETER_COMMAND, 
     159          false, 0, -1, WR_COMPLETER_COMMAND, 
    159160          wr_cmd_help }, 
    160161        { "ignore", 
    161162          true, "[<nick>]", 
    162           0, -1, WR_COMPLETER_NICKNAME, 
     163          false, 0, -1, WR_COMPLETER_NICKNAME, 
    163164          wr_cmd_ignore }, 
    164165        { "ignores", 
    165166          true, "[<nick>]", 
    166           0, -1, WR_COMPLETER_NICKNAME, 
     167          false, 0, -1, WR_COMPLETER_NICKNAME, 
    167168          wr_cmd_ignore }, 
    168169        { "info", 
    169170          true, "<user>", 
    170           1, -1, WR_COMPLETER_NICKNAME, 
     171          true, 1, -1, WR_COMPLETER_NICKNAME, 
    171172          wr_cmd_info }, 
    172173        { "join", 
    173174          false, "<server> [-l <login>] [-p <password>] [-P <port>]", 
    174           1, -1, WR_COMPLETER_NONE, 
     175          false, 1, -1, WR_COMPLETER_NONE, 
    175176          wr_cmd_open }, 
    176177        { "kick", 
    177178          true, "<user> <message>", 
    178           1, 1, WR_COMPLETER_NICKNAME, 
     179          true, 1, 1, WR_COMPLETER_NICKNAME, 
    179180          wr_cmd_kick }, 
    180181        { "load", 
    181182          true, "<bookmark>", 
    182           1, -1, WR_COMPLETER_BOOKMARK, 
     183          false, 1, -1, WR_COMPLETER_BOOKMARK, 
    183184          wr_cmd_load }, 
    184185        { "log", 
    185186          true, "<filename>", 
    186           1, -1, WR_COMPLETER_NONE, 
     187          false, 1, -1, WR_COMPLETER_NONE, 
    187188          wr_cmd_log }, 
    188189        { "ls", 
    189190          true, "<path>", 
    190           0, -1, WR_COMPLETER_DIRECTORY, 
     191          true, 0, -1, WR_COMPLETER_DIRECTORY, 
    191192          wr_cmd_ls }, 
    192193        { "me", 
    193194          true, "<chat>", 
    194           1, 0, WR_COMPLETER_NICKNAME, 
     195          true, 1, 0, WR_COMPLETER_NICKNAME, 
    195196          wr_cmd_me }, 
    196197        { "mkdir", 
    197198          true, "<path>", 
    198           1, 0, WR_COMPLETER_FILENAME, 
     199          true, 1, 0, WR_COMPLETER_FILENAME, 
    199200          wr_cmd_mkdir }, 
    200201        { "move", 
    201202          true, "<path> <path>", 
    202           2, -1, WR_COMPLETER_FILENAME, 
     203          true, 2, -1, WR_COMPLETER_FILENAME, 
    203204          wr_cmd_mv }, 
    204205        { "msg", 
    205206          true, "<user> <message>", 
    206           2, 1, WR_COMPLETER_NICKNAME, 
     207          true, 2, 1, WR_COMPLETER_NICKNAME, 
    207208          wr_cmd_msg }, 
    208209        { "mv", 
    209210          true, "<path> <path>", 
    210           2, -1, WR_COMPLETER_FILENAME, 
     211          true, 2, -1, WR_COMPLETER_FILENAME, 
    211212          wr_cmd_mv }, 
    212213        { "news", 
    213214          true, "[-<number> | -ALL]", 
    214           0, -1, WR_COMPLETER_NONE, 
     215          true, 0, -1, WR_COMPLETER_NONE, 
    215216          wr_cmd_news }, 
    216217        { "nick", 
    217218          true, "<nick>", 
    218           1, 0, WR_COMPLETER_NICKNAME, 
     219          false, 1, 0, WR_COMPLETER_NICKNAME, 
    219220          wr_cmd_nick }, 
    220221        { "open", 
    221222          true, "<server> [-l <login>] [-p <password>] [-P <port>]", 
    222           1, -1, WR_COMPLETER_NONE, 
     223          false, 1, -1, WR_COMPLETER_NONE, 
    223224          wr_cmd_open }, 
    224225        { "ping", 
    225226          true, "", 
    226           0, -1, WR_COMPLETER_NONE, 
     227          true, 0, -1, WR_COMPLETER_NONE, 
    227228          wr_cmd_ping }, 
    228229        { "post", 
    229230          true, "<message>", 
    230           1, 0, WR_COMPLETER_NICKNAME, 
     231          true, 1, 0, WR_COMPLETER_NICKNAME, 
    231232          wr_cmd_post }, 
    232233        { "put", 
    233234          true, "<path>", 
    234           1, -1, WR_COMPLETER_LOCAL_FILENAME, 
     235          true, 1, -1, WR_COMPLETER_LOCAL_FILENAME, 
    235236          wr_cmd_put }, 
    236237        { "pwd", 
    237238          true, "", 
    238           0, -1, WR_COMPLETER_NONE, 
     239          true, 0, -1, WR_COMPLETER_NONE, 
    239240          wr_cmd_pwd }, 
    240241        { "quit", 
    241242          true, "", 
    242           0, -1, WR_COMPLETER_NONE, 
     243          false, 0, -1, WR_COMPLETER_NONE, 
    243244          wr_cmd_quit }, 
    244245        { "remove", 
    245246          true, "<path>", 
    246           1, -1, WR_COMPLETER_FILENAME, 
     247          true, 1, -1, WR_COMPLETER_FILENAME, 
    247248          wr_cmd_rm }, 
    248249        { "reply", 
    249250          true, "<message>", 
    250           1, 0, WR_COMPLETER_NICKNAME, 
     251          true, 1, 0, WR_COMPLETER_NICKNAME, 
    251252          wr_cmd_reply }, 
    252253        { "rm", 
    253254          true, "<path>", 
    254           1, -1, WR_COMPLETER_FILENAME, 
     255          true, 1, -1, WR_COMPLETER_FILENAME, 
    255256          wr_cmd_rm }, 
    256257        { "save", 
    257258          true, "<bookmark>", 
    258           1, -1, WR_COMPLETER_BOOKMARK, 
     259          false, 1, -1, WR_COMPLETER_BOOKMARK, 
    259260          wr_cmd_save }, 
    260261        { "say", 
    261262          false, "<chat>", 
    262           1, 0, WR_COMPLETER_NICKNAME, 
     263          true, 1, 0, WR_COMPLETER_NICKNAME, 
    263264          wr_cmd_say }, 
    264265        { "search", 
    265266          true, "<query>", 
    266           1, -1, WR_COMPLETER_FILENAME, 
     267          true, 1, -1, WR_COMPLETER_FILENAME, 
    267268          wr_cmd_search }, 
    268269        { "server", 
    269270          false, "<server> [-l <login>] [-p <password>] [-P <port>]", 
    270           1, -1, WR_COMPLETER_NONE, 
     271          false, 1, -1, WR_COMPLETER_NONE, 
    271272          wr_cmd_open }, 
     273        { "serverinfo", 
     274          true, "", 
     275          true, 0, -1, WR_COMPLETER_NONE, 
     276          wr_cmd_serverinfo }, 
    272277        { "start", 
    273278          true, "<transfer>", 
    274           1, -1, WR_COMPLETER_NONE, 
     279          true, 1, -1, WR_COMPLETER_NONE, 
    275280          wr_cmd_start }, 
    276281        { "stat", 
    277282          true, "<path>", 
    278           1, -1, WR_COMPLETER_FILENAME, 
     283          true, 1, -1, WR_COMPLETER_FILENAME, 
    279284          wr_cmd_stat }, 
    280285        { "status", 
    281286          true, "<status>", 
    282           1, 0, WR_COMPLETER_NONE, 
     287          false, 1, 0, WR_COMPLETER_NONE, 
    283288          wr_cmd_status }, 
    284289        { "stop", 
    285290          true, "<transfer>", 
    286           1, -1, WR_COMPLETER_NONE, 
     291          true, 1, -1, WR_COMPLETER_NONE, 
    287292          wr_cmd_stop }, 
    288293        { "topic", 
    289294          true, "[<topic>]", 
    290           0, 0, WR_COMPLETER_NICKNAME, 
     295          true, 0, 0, WR_COMPLETER_NICKNAME, 
    291296          wr_cmd_topic }, 
    292297        { "type", 
    293298          true, "<path> (folder | uploads | dropbox)", 
    294           2, -1, WR_COMPLETER_FILENAME, 
     299          true, 2, -1, WR_COMPLETER_FILENAME, 
    295300          wr_cmd_type }, 
    296301        { "unignore", 
    297302          true, "[<ignore> | <nick>]", 
    298           0, -1, WR_COMPLETER_IGNORE, 
     303          false, 0, -1, WR_COMPLETER_IGNORE, 
    299304          wr_cmd_unignore }, 
    300305        { "uptime", 
    301306          true, "", 
    302           0, -1, WR_COMPLETER_NONE, 
     307          false, 0, -1, WR_COMPLETER_NONE, 
    303308          wr_cmd_uptime }, 
    304309        { "version", 
    305310          true, "", 
    306           0, -1, WR_COMPLETER_NONE, 
     311          false, 0, -1, WR_COMPLETER_NONE, 
    307312          wr_cmd_version }, 
    308313        { "who", 
    309314          true, "", 
    310           0, -1, WR_COMPLETER_NONE, 
     315          true, 0, -1, WR_COMPLETER_NONE, 
    311316          wr_cmd_who }, 
    312317        { "whois", 
    313318          false, "<user>", 
    314           1, -1, WR_COMPLETER_NICKNAME, 
     319          true, 1, -1, WR_COMPLETER_NICKNAME, 
    315320          wr_cmd_info }, 
    316321}; 
     
    349354        } 
    350355         
     356        if(wr_commands[index].connected && !wr_connected) { 
     357                wr_printf_prefix(WI_STR("%@: %@"), command, WI_STR("Not connected")); 
     358 
     359                goto end; 
     360        } 
     361         
    351362        array = wi_array_init_with_argument_string(wi_array_alloc(), arguments, wr_commands[index].optindex); 
    352363 
     
    356367                goto end; 
    357368        } 
    358          
    359         ((*wr_commands[index].action) (array)); 
    360369 
    361370        wi_release(wr_last_command); 
    362371        wr_last_command = WI_STRING_WITH_CSTRING(wr_commands[index].name); 
     372 
     373        ((*wr_commands[index].action) (array)); 
    363374 
    364375end: 
     
    597608                if(wr_connected) 
    598609                        wr_disconnect(); 
     610                else 
     611                        wr_printf_prefix(WI_STR("%@: %@"), wr_last_command, WI_STR("Not connected")); 
    599612        } else { 
    600613                wr_windows_close_window(wr_current_window); 
     
    628641 
    629642static void wr_cmd_disconnect(wi_array_t *arguments) { 
    630         if(wr_connected) 
    631                 wr_disconnect(); 
    632         else 
    633                 wr_printf_prefix(WI_STR("You are not connected to any server")); 
     643        wr_disconnect(); 
    634644} 
    635645 
     
    12441254 
    12451255/* 
     1256        /serverinfo 
     1257*/ 
     1258 
     1259static void wr_cmd_serverinfo(wi_array_t *arguments) { 
     1260        wr_print_server_info(); 
     1261} 
     1262 
     1263 
     1264 
     1265/* 
    12461266        /save <bookmark> 
    12471267*/ 
     
    15311551 
    15321552static void wr_cmd_who(wi_array_t *arguments) { 
    1533         if(wr_connected) 
    1534                 wr_print_users(); 
    1535         else 
    1536                 wr_printf_prefix(WI_STR("You are not connected to any server")); 
    1537 
     1553        wr_print_users(); 
     1554
  • wire/trunk/wire/commands.h

    r3312 r3449  
    3838        const char                                      *usage; 
    3939 
     40        wi_boolean_t                            connected; 
    4041        unsigned int                            optargs; 
    4142        int                                                     optindex; 
  • wire/trunk/wire/transfers.c

    r3312 r3449  
    284284        if(bytes > 0) { 
    285285                transfer->transferred += bytes; 
     286                wr_received_bytes += bytes; 
    286287                 
    287288                if(wi_file_write_buffer(transfer->file, buf, bytes) < 0) { 
     
    337338                } else { 
    338339                        transfer->transferred += bytes; 
     340                        wr_transferred_bytes += bytes; 
    339341                 
    340342                        wr_draw_transfers(false); 
  • wire/trunk/wire/windows.c

    r3312 r3449  
    162162 
    163163void wr_windows_add_window(wr_window_t *window) { 
     164        wr_user_t               *user; 
     165 
    164166        wi_list_append_data(wr_windows, window); 
    165167        wi_terminal_add_buffer(wr_terminal, window->buffer); 
     168 
     169        if(window->type == WR_WINDOW_TYPE_USER) { 
     170                user = wr_user_with_uid(window->uid); 
     171 
     172                wr_wprintf_prefix(window, WI_STR("Opened new window for private messages with %@"), user->nick); 
     173                wr_wprintf_prefix(window, WI_STR("Use ctrl-N/ctrl-P to cycle windows"), user->nick); 
     174        } 
    166175} 
    167176 
     
    476485                WR_END_COLOR, 
    477486                message); 
     487} 
     488 
     489 
     490 
     491void wr_print_server_info(void) { 
     492        wi_string_t                     *string, *uptime, *since; 
     493        wi_date_t                       *date; 
     494        wi_time_interval_t      interval; 
     495 
     496        wr_printf_prefix(WI_STR("Server info:")); 
     497 
     498        wr_printf_block(WI_STR("Name:         %@"), wr_server->name); 
     499        wr_printf_block(WI_STR("Description:  %@"), wr_server->description); 
     500 
     501        interval = wi_time_interval() - wi_date_time_interval(wr_server->startdate); 
     502        date = WI_DATE_WITH_TIME_INTERVAL(interval); 
     503         
     504        uptime = wi_date_string_with_interval_format(date); 
     505        since = wi_date_string_with_format(wr_server->startdate, WI_STR("%a %b %e %T %Y")); 
     506        wr_printf_block(WI_STR("Uptime:       %@, since %@"), uptime, since); 
     507        wi_release(uptime); 
     508        wi_release(since); 
     509 
     510        wr_printf_block(WI_STR("Files:        %u"), wr_server->files); 
     511 
     512        string = wr_files_string_for_size(wr_server->size); 
     513        wr_printf_block(WI_STR("Size:         %@"), string); 
     514        wi_release(string); 
     515 
     516        wr_printf_block(WI_STR("Version:      %@"), wr_server->version); 
     517        wr_printf_block(WI_STR("Protocol:     %.1f"), wr_server->protocol); 
     518 
     519        string = wi_socket_cipher_version(wr_socket); 
     520        wr_printf_block(WI_STR("SSL Protocol: %@"), string); 
     521        wi_release(string); 
     522 
     523        string = wi_socket_cipher_name(wr_socket); 
     524        wr_printf_block(WI_STR("Cipher:       %@/%u bits"), string, wi_socket_cipher_bits(wr_socket)); 
     525        wi_release(string); 
    478526} 
    479527 
     
    686734                                                                   wr_nick); 
    687735         
    688         if(wr_connected) { 
     736        if(wr_connected && wr_server) { 
    689737                wi_string_append_format(string, WI_STR(" - %@ - %u %@"), 
    690                                                                 wr_server
     738                                                                wr_server->name
    691739                                                                wi_list_count(wr_users), 
    692740                                                                wi_list_count(wr_users) == 1 
  • wire/trunk/wire/windows.h

    r3312 r3449  
    134134void                                                                    wr_wprint_me(wr_window_t *, wi_string_t *, wi_string_t *); 
    135135void                                                                    wr_wprint_msg(wr_window_t *, wi_string_t *, wi_string_t *); 
     136void                                                                    wr_print_server_info(void); 
    136137void                                                                    wr_print_topic(void); 
    137138void                                                                    wr_print_users(void);