Changeset 3312

Show
Ignore:
Timestamp:
11/20/05 13:58:52 (3 years ago)
Author:
morris
Message:

Sync with libwired

Files:

Legend:

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

    r3271 r3312  
    66WR_VERSION      = @WR_VERSION@ 
    77 
    8 SUBDIRS         = libzanka wire 
     8SUBDIRS         = libwired wire 
    99DISTFILES       = INSTALL LICENSE NEWS README Makefile Makefile.in config.guess \ 
    1010                          config.h.in config.sub configure configure.in install-sh \ 
    11                           libzanka man run wire 
     11                          libwired man run wire 
    1212 
    1313INSTALL         = @INSTALL@ 
  • wire/trunk/configure

    r3240 r3312  
    312312#endif" 
    313313 
    314 ac_subdirs_all="$ac_subdirs_all libzanka
     314ac_subdirs_all="$ac_subdirs_all libwired
    315315ac_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 build build_cpu build_vendor build_os host host_cpu host_vendor host_os WR_VERSION CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA SET_MAKE CPP EGREP subdirs LIBOBJS LTLIBOBJS' 
    316316ac_subst_files='' 
     
    29792979# Checks for libraries 
    29802980 
    2981 # Check that we have a libzanka in this directory 
    2982 if ! test -f libzanka/configure; then 
    2983  
    2984     { { echo "$as_me:$LINENO: error: could not locate libzanka 
    2985  
    2986 You need to download a version of libzanka and place it in the same directory as this configure script" >&5 
    2987 echo "$as_me: error: could not locate libzanka 
    2988  
    2989 You need to download a version of libzanka and place it in the same directory as this configure script" >&2;} 
     2981# Check that we have a libwired in this directory 
     2982if ! test -f libwired/configure; then 
     2983 
     2984    { { echo "$as_me:$LINENO: error: could not locate libwired 
     2985 
     2986You need to download a version of libwired and place it in the same directory as this configure script" >&5 
     2987echo "$as_me: error: could not locate libwired 
     2988 
     2989You need to download a version of libwired and place it in the same directory as this configure script" >&2;} 
    29902990   { (exit 1); exit 1; }; } 
    29912991 
     
    72047204 
    72057205 
    7206 # Configure libzanka 
     7206# Configure libwired 
    72077207ac_configure_args="$ac_configure_args --enable-ssl --enable-termcap --enable-iconv" 
    72087208 
    72097209 
    7210 subdirs="$subdirs libzanka
     7210subdirs="$subdirs libwired
    72117211 
    72127212 
  • wire/trunk/configure.in

    r3237 r3312  
    2626]) 
    2727 
    28 AC_DEFUN([WR_MSG_LIBZANKA_ERROR], [ 
    29     AC_MSG_ERROR([could not locate libzanka 
    30  
    31 You need to download a version of libzanka and place it in the same directory as this configure script]) 
     28AC_DEFUN([WR_MSG_LIBWIRED_ERROR], [ 
     29    AC_MSG_ERROR([could not locate libwired 
     30 
     31You need to download a version of libwired and place it in the same directory as this configure script]) 
    3232]) 
    3333 
     
    112112# Checks for libraries 
    113113 
    114 # Check that we have a libzanka in this directory 
    115 if ! test -f libzanka/configure; then 
    116         WR_MSG_LIBZANKA_ERROR 
     114# Check that we have a libwired in this directory 
     115if ! test -f libwired/configure; then 
     116        WR_MSG_LIBWIRED_ERROR 
    117117fi 
    118118 
     
    315315AC_CONFIG_FILES([wire/Makefile]) 
    316316 
    317 # Configure libzanka 
     317# Configure libwired 
    318318ac_configure_args="$ac_configure_args --enable-ssl --enable-termcap --enable-iconv" 
    319 AC_CONFIG_SUBDIRS([libzanka]) 
     319AC_CONFIG_SUBDIRS([libwired]) 
    320320 
    321321AC_OUTPUT 
  • wire/trunk/wire/Makefile.in

    r3237 r3312  
    1616CFLAGS          = @CFLAGS@ 
    1717CPPFLAGS        = @CPPFLAGS@ 
    18 LDFLAGS         = -L$(top_srcdir)/libzanka/lib @LDFLAGS@ 
    19 LIBS            = -lzanka @LIBS@ 
    20 INCLUDES        = -I$(top_srcdir)/libzanka/include -I$(top_srcdir) -I$(srcdir) 
     18LDFLAGS         = -L$(top_srcdir)/libwired/lib @LDFLAGS@ 
     19LIBS            = -lwired @LIBS@ 
     20INCLUDES        = -I$(top_srcdir)/libwired/include -I$(top_srcdir) -I$(srcdir) 
    2121 
    2222COMPILE         = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) 
     
    2828all: wire 
    2929 
    30 wire: $(OBJECTS) $(top_srcdir)/libzanka/lib/libzanka.a 
     30wire: $(OBJECTS) $(top_srcdir)/libwired/lib/libwired.a 
    3131        $(LINK) $(OBJECTS) $(LIBS) 
    3232        mkdir -p $(top_srcdir)/run/ 
  • wire/trunk/wire/client.c

    r3302 r3312  
    2929#include "config.h" 
    3030 
    31 #include <zanka/zanka.h> 
     31#include <wired/wired.h> 
    3232 
    3333#include "client.h" 
     
    4141#include "windows.h" 
    4242 
    43 static int                                                      wr_runloop_server_callback(za_socket_t *); 
    44  
    45 static int                                                      wr_parse_message(za_string_t *); 
    46  
    47 static void                                                     wr_msg_200(za_array_t *); 
    48 static void                                                     wr_msg_201(za_array_t *); 
    49 static void                                                     wr_msg_202(za_array_t *); 
    50 static void                                                     wr_msg_300(za_array_t *); 
    51 static void                                                     wr_msg_301(za_array_t *); 
    52 static void                                                     wr_msg_302(za_array_t *); 
    53 static void                                                     wr_msg_303(za_array_t *); 
    54 static void                                                     wr_msg_304(za_array_t *); 
    55 static void                                                     wr_msg_305(za_array_t *); 
    56 static void                                                     wr_msg_306(za_array_t *); 
    57 static void                                                     wr_msg_307(za_array_t *); 
    58 static void                                                     wr_msg_308(za_array_t *); 
    59 static void                                                     wr_msg_309(za_array_t *); 
    60 static void                                                     wr_msg_310(za_array_t *); 
    61 static void                                                     wr_msg_311(za_array_t *); 
    62 static void                                                     wr_msg_320(za_array_t *); 
    63 static void                                                     wr_msg_321(za_array_t *); 
    64 static void                                                     wr_msg_322(za_array_t *); 
    65 static void                                                     wr_msg_331(za_array_t *); 
    66 static void                                                     wr_msg_341(za_array_t *); 
    67 static void                                                     wr_msg_400(za_array_t *); 
    68 static void                                                     wr_msg_401(za_array_t *); 
    69 static void                                                     wr_msg_402(za_array_t *); 
    70 static void                                                     wr_msg_410(za_array_t *); 
    71 static void                                                     wr_msg_411(za_array_t *); 
    72 static void                                                     wr_msg_420(za_array_t *); 
    73 static void                                                     wr_msg_421(za_array_t *); 
    74  
    75  
    76 za_string_encoding_t                          *wr_client_string_encoding; 
    77 za_string_encoding_t                          *wr_server_string_encoding; 
    78  
    79 za_string_t                                                   *wr_host; 
     43static int                                                      wr_runloop_server_callback(wi_socket_t *); 
     44 
     45static int                                                      wr_parse_message(wi_string_t *); 
     46 
     47static void                                                     wr_msg_200(wi_array_t *); 
     48static void                                                     wr_msg_201(wi_array_t *); 
     49static void                                                     wr_msg_202(wi_array_t *); 
     50static void                                                     wr_msg_300(wi_array_t *); 
     51static void                                                     wr_msg_301(wi_array_t *); 
     52static void                                                     wr_msg_302(wi_array_t *); 
     53static void                                                     wr_msg_303(wi_array_t *); 
     54static void                                                     wr_msg_304(wi_array_t *); 
     55static void                                                     wr_msg_305(wi_array_t *); 
     56static void                                                     wr_msg_306(wi_array_t *); 
     57static void                                                     wr_msg_307(wi_array_t *); 
     58static void                                                     wr_msg_308(wi_array_t *); 
     59static void                                                     wr_msg_309(wi_array_t *); 
     60static void                                                     wr_msg_310(wi_array_t *); 
     61static void                                                     wr_msg_311(wi_array_t *); 
     62static void                                                     wr_msg_320(wi_array_t *); 
     63static void                                                     wr_msg_321(wi_array_t *); 
     64static void                                                     wr_msg_322(wi_array_t *); 
     65static void                                                     wr_msg_331(wi_array_t *); 
     66static void                                                     wr_msg_341(wi_array_t *); 
     67static void                                                     wr_msg_400(wi_array_t *); 
     68static void                                                     wr_msg_401(wi_array_t *); 
     69static void                                                     wr_msg_402(wi_array_t *); 
     70static void                                                     wr_msg_410(wi_array_t *); 
     71static void                                                     wr_msg_411(wi_array_t *); 
     72static void                                                     wr_msg_420(wi_array_t *); 
     73static void                                                     wr_msg_421(wi_array_t *); 
     74 
     75 
     76wi_string_encoding_t                          *wr_client_string_encoding; 
     77wi_string_encoding_t                          *wr_server_string_encoding; 
     78 
     79wi_string_t                                                   *wr_host; 
    8080unsigned int                                            wr_port; 
    8181 
    82 za_string_t                                                   *wr_server; 
     82wi_string_t                                                   *wr_server; 
    8383double                                                          wr_protocol; 
    8484 
    85 za_string_t                                                   *wr_nick; 
    86 za_string_t                                                   *wr_status; 
    87 za_string_t                                                   *wr_login; 
    88 za_string_t                                                   *wr_password; 
     85wi_string_t                                                   *wr_nick; 
     86wi_string_t                                                   *wr_status; 
     87wi_string_t                                                   *wr_login; 
     88wi_string_t                                                   *wr_password; 
    8989 
    9090static const char                                       wr_icon[] = 
     
    133133        "Vy/xW31D+jfvNtPdS+ASBQAAAABJRU5ErkJggg=="; 
    134134 
    135 static za_socket_context_t                    *wr_socket_context; 
    136  
    137 za_socket_t                                                   *wr_socket; 
    138 za_address_t                                          *wr_address; 
     135static wi_socket_context_t                    *wr_socket_context; 
     136 
     137wi_socket_t                                                   *wr_socket; 
     138wi_address_t                                          *wr_address; 
    139139 
    140140unsigned long long                                      wr_received_bytes; 
     
    144144unsigned int                                            wr_news_limit; 
    145145 
    146 za_time_interval_t                                    wr_ping_time; 
    147  
    148 za_boolean_t                                          wr_connected; 
    149 za_boolean_t                                          wr_logged_in; 
     146wi_time_interval_t                                    wr_ping_time; 
     147 
     148wi_boolean_t                                          wr_connected; 
     149wi_boolean_t                                          wr_logged_in; 
    150150 
    151151 
     
    153153        int                     options; 
    154154         
    155         wr_socket_context = za_socket_context_init(za_socket_context_alloc()); 
    156          
    157         if(!za_socket_context_set_ssl(wr_socket_context, ZA_SOCKET_SSL_CLIENT)) 
    158                 za_log_err(ZA_STR("Could not set SSL context: %m")); 
    159          
    160         options = ZA_STRING_ENCODING_IGNORE | ZA_STRING_ENCODING_TRANSLITERATE; 
    161          
    162         wr_client_string_encoding = za_string_encoding_init_with_charset(za_string_encoding_alloc(), 
    163                                                                                                                                          ZA_STR("ISO-8859-1"), 
     155        wr_socket_context = wi_socket_context_init(wi_socket_context_alloc()); 
     156         
     157        if(!wi_socket_context_set_ssl(wr_socket_context, WI_SOCKET_SSL_CLIENT)) 
     158                wi_log_err(WI_STR("Could not set SSL context: %m")); 
     159         
     160        options = WI_STRING_ENCODING_IGNORE | WI_STRING_ENCODING_TRANSLITERATE; 
     161         
     162        wr_client_string_encoding = wi_string_encoding_init_with_charset(wi_string_encoding_alloc(), 
     163                                                                                                                                         WI_STR("ISO-8859-1"), 
    164164                                                                                                                                         options); 
    165165         
    166         wr_server_string_encoding = za_string_encoding_init_with_charset(za_string_encoding_alloc(), 
    167                                                                                                                                          ZA_STR("UTF-8"), 
     166        wr_server_string_encoding = wi_string_encoding_init_with_charset(wi_string_encoding_alloc(), 
     167                                                                                                                                         WI_STR("UTF-8"), 
    168168                                                                                                                                         options); 
    169169} 
     
    173173#pragma mark - 
    174174 
    175 void wr_connect(za_string_t *host, unsigned int port, za_string_t *login, za_string_t *password) { 
    176         za_list_t                     *addresses; 
    177         za_list_node_t                *node; 
    178         za_address_t          *address; 
    179         za_socket_t                   *socket; 
    180         za_string_t                   *ip, *version, *cipher; 
     175void wr_connect(wi_string_t *host, unsigned int port, wi_string_t *login, wi_string_t *password) { 
     176        wi_list_t                     *addresses; 
     177        wi_list_node_t                *node; 
     178        wi_address_t          *address; 
     179        wi_socket_t                   *socket; 
     180        wi_string_t                   *ip, *version, *cipher; 
    181181         
    182182        if(wr_connected) 
    183183                wr_disconnect(); 
    184184         
    185         wr_printf_prefix(ZA_STR("Connecting to %@..."), host); 
     185        wr_printf_prefix(WI_STR("Connecting to %@..."), host); 
    186186         
    187187        if(port == 0) 
    188188                port = WR_CONTROL_PORT; 
    189189         
    190         addresses = za_address_all_addresses_for_hostname(host); 
    191          
    192         if(!addresses || za_list_count(addresses) == 0) { 
    193                 wr_printf_prefix(ZA_STR("Could not resolve \"%@\": %@"), 
     190        addresses = wi_address_all_addresses_for_hostname(host); 
     191         
     192        if(!addresses || wi_list_count(addresses) == 0) { 
     193                wr_printf_prefix(WI_STR("Could not resolve \"%@\": %@"), 
    194194                        host, 
    195195                        !addresses 
    196                                 ? za_error_string() 
    197                                 : ZA_STR("No available addresses")); 
     196                                ? wi_error_string() 
     197                                : WI_STR("No available addresses")); 
    198198                 
    199199                goto end; 
    200200        } 
    201201         
    202         ZA_LIST_FOREACH(addresses, node, address) { 
    203                 ip = za_address_string(address); 
    204  
    205                 wr_printf_prefix(ZA_STR("Trying %@..."), ip); 
    206                  
    207                 za_address_set_port(address, port); 
    208                  
    209                 socket = za_socket_connect(address, wr_socket_context, 15.0); 
     202        WI_LIST_FOREACH(addresses, node, address) { 
     203                ip = wi_address_string(address); 
     204 
     205                wr_printf_prefix(WI_STR("Trying %@..."), ip); 
     206                 
     207                wi_address_set_port(address, port); 
     208                 
     209                socket = wi_socket_connect(address, wr_socket_context, 15.0); 
    210210                 
    211211                if(!socket) { 
    212                         wr_printf_prefix(ZA_STR("Could not connect to %@: %m"), ip); 
     212                        wr_printf_prefix(WI_STR("Could not connect to %@: %m"), ip); 
    213213 
    214214                        goto next; 
    215215                } 
    216216 
    217                 version = za_socket_cipher_version(socket); 
    218                 cipher = za_socket_cipher_name(socket); 
    219                  
    220                 wr_printf_prefix(ZA_STR("Connected using %@/%@/%u bits, logging in..."), 
     217                version = wi_socket_cipher_version(socket); 
     218                cipher = wi_socket_cipher_name(socket); 
     219                 
     220                wr_printf_prefix(WI_STR("Connected using %@/%@/%u bits, logging in..."), 
    221221                        version, 
    222222                        cipher, 
    223                         za_socket_cipher_bits(socket)); 
    224                  
    225                 za_release(version); 
    226                 za_release(cipher); 
     223                        wi_socket_cipher_bits(socket)); 
     224                 
     225                wi_release(version); 
     226                wi_release(cipher); 
    227227 
    228228                wr_connected    = true; 
    229                 wr_host                 = za_retain(host); 
     229                wr_host                 = wi_retain(host); 
    230230                wr_port                 = port; 
    231                 wr_login                = za_retain(login); 
    232                 wr_password             = za_retain(password); 
    233                 wr_socket               = za_retain(socket); 
    234                 wr_address              = za_retain(address); 
     231                wr_login                = wi_retain(login); 
     232                wr_password             = wi_retain(password); 
     233                wr_socket               = wi_retain(socket); 
     234                wr_address              = wi_retain(address); 
    235235                 
    236236                wr_runloop_add_socket(wr_socket, &wr_runloop_server_callback); 
    237                 wr_send_command(ZA_STR("HELLO")); 
     237                wr_send_command(WI_STR("HELLO")); 
    238238 
    239239next: 
    240                 za_release(ip); 
    241                 za_release(socket); 
     240                wi_release(ip); 
     241                wi_release(socket); 
    242242                 
    243243                if(wr_connected) 
     
    246246 
    247247        if(wr_socket) 
    248                 za_socket_set_direction(wr_socket, ZA_SOCKET_READ); 
     248                wi_socket_set_direction(wr_socket, WI_SOCKET_READ); 
    249249         
    250250end: 
    251         za_release(addresses); 
     251        wi_release(addresses); 
    252252} 
    253253 
     
    256256void wr_disconnect(void) { 
    257257        wr_runloop_remove_socket(wr_socket); 
    258         za_release(wr_socket); 
     258        wi_release(wr_socket); 
    259259 
    260260        if(wr_connected) { 
    261                 wr_wprintf_prefix(wr_console_window, ZA_STR("Connection to %@ closed"), 
     261                wr_wprintf_prefix(wr_console_window, WI_STR("Connection to %@ closed"), 
    262262                        wr_host); 
    263263        } 
    264264 
    265         za_release(wr_host); 
    266         za_release(wr_login); 
    267         za_release(wr_password); 
    268         za_release(wr_address); 
     265        wi_release(wr_host); 
     266        wi_release(wr_login); 
     267        wi_release(wr_password); 
     268        wi_release(wr_address); 
    269269 
    270270        wr_reply_uid = 0; 
     
    286286#pragma mark - 
    287287 
    288 static int wr_runloop_server_callback(za_socket_t *socket) { 
    289         za_string_t           *string; 
     288static int wr_runloop_server_callback(wi_socket_t *socket) { 
     289        wi_string_t           *string; 
    290290        int                             message = 0; 
    291291         
    292         string = za_socket_read_to_string(wr_socket, 0.0, ZA_STR(WR_MESSAGE_SEPARATOR_STR)); 
    293          
    294         if(string && za_string_length(string) > 0) { 
     292        string = wi_socket_read_to_string(wr_socket, 0.0, WI_STR(WR_MESSAGE_SEPARATOR_STR)); 
     293         
     294        if(string && wi_string_length(string) > 0) { 
    295295                message = wr_parse_message(string); 
    296296        } else { 
    297297                if(!string) 
    298                         wr_printf_prefix(ZA_STR("Could not read from server: %m")); 
     298                        wr_printf_prefix(WI_STR("Could not read from server: %m")); 
    299299 
    300300                wr_disconnect(); 
    301301        } 
    302302         
    303         za_release(string); 
     303        wi_release(string); 
    304304         
    305305        return message; 
     
    310310#pragma mark - 
    311311 
    312 static int wr_parse_message(za_string_t *buffer) { 
    313         za_array_t            *arguments; 
    314         za_string_t           *string; 
     312static int wr_parse_message(wi_string_t *buffer) { 
     313        wi_array_t            *arguments; 
     314        wi_string_t           *string; 
    315315        unsigned int    message; 
    316316         
    317         string = za_string_by_converting_encoding(buffer, wr_server_string_encoding, wr_client_string_encoding); 
    318         za_parse_wired_message(string, &message, &arguments); 
    319         za_release(string); 
     317        string = wi_string_by_converting_encoding(buffer, wr_server_string_encoding, wr_client_string_encoding); 
     318        wi_parse_wired_message(string, &message, &arguments); 
     319        wi_release(string); 
    320320         
    321321        switch(message) { 
     
    355355                case 502: 
    356356                case 503: 
    357                         wr_printf_prefix(ZA_STR("%@: Command failed"), 
     357                        wr_printf_prefix(WI_STR("%@: Command failed"), 
    358358                                wr_last_command); 
    359359                        break; 
    360360 
    361361                case 510: 
    362                         wr_printf_prefix(ZA_STR("%@: Login failed, wrong login or password"), 
     362                        wr_printf_prefix(WI_STR("%@: Login failed, wrong login or password"), 
    363363                                wr_last_command); 
    364364                         
     
    367367 
    368368                case 511: 
    369                         wr_printf_prefix(ZA_STR("%@: Login failed, host is banned"), 
     369                        wr_printf_prefix(WI_STR("%@: Login failed, host is banned"), 
    370370                                wr_last_command); 
    371371 
     
    374374 
    375375                case 512: 
    376                         wr_printf_prefix(ZA_STR("%@: Client not found"), 
     376                        wr_printf_prefix(WI_STR("%@: Client not found"), 
    377377                                wr_last_command); 
    378378                        break; 
    379379 
    380380                case 513: 
    381                         wr_printf_prefix(ZA_STR("%@: Account not found"), 
     381                        wr_printf_prefix(WI_STR("%@: Account not found"), 
    382382                                wr_last_command); 
    383383                        break; 
    384384 
    385385                case 514: 
    386                         wr_printf_prefix(ZA_STR("%@: Account already exists"), 
     386                        wr_printf_prefix(WI_STR("%@: Account already exists"), 
    387387                                wr_last_command); 
    388388                        break; 
    389389 
    390390                case 515: 
    391                         wr_printf_prefix(ZA_STR("%@: User cannot be disconnected"), 
     391                        wr_printf_prefix(WI_STR("%@: User cannot be disconnected"), 
    392392                                wr_last_command); 
    393393                        break; 
    394394 
    395395                case 516: 
    396                         wr_printf_prefix(ZA_STR("%@: Permission denied"), 
     396                        wr_printf_prefix(WI_STR("%@: Permission denied"), 
    397397                                wr_last_command); 
    398398                        break; 
    399399 
    400400                case 520: 
    401                         wr_printf_prefix(ZA_STR("%@: File or directory not found"), 
     401                        wr_printf_prefix(WI_STR("%@: File or directory not found"), 
    402402                                wr_last_command); 
    403403                        break; 
    404404 
    405405                case 521: 
    406                         wr_printf_prefix(ZA_STR("%@: File or directory already exists"), 
     406                        wr_printf_prefix(WI_STR("%@: File or directory already exists"), 
    407407                                wr_last_command); 
    408408                        break; 
    409409 
    410410                case 522: 
    411                         wr_printf_prefix(ZA_STR("%@: Checksum mismatch"), 
     411                        wr_printf_prefix(WI_STR("%@: Checksum mismatch"), 
    412412                                wr_last_command); 
    413413                        break; 
    414414 
    415415                case 523: 
    416                         wr_printf_prefix(ZA_STR("%@: Queue limit exceeded"), 
     416                        wr_printf_prefix(WI_STR("%@: Queue limit exceeded"), 
    417417                                wr_last_command); 
    418418                        break; 
    419419 
    420420                default: 
    421                         string = za_array_components_joined_by_string(arguments, ZA_STR(" ")); 
     421                        string = wi_array_components_joined_by_string(arguments, WI_STR(" ")); 
    422422                         
    423                         wr_printf_prefix(ZA_STR("%@: Unknown message: %d %@"), 
     423                        wr_printf_prefix(WI_STR("%@: Unknown message: %d %@"), 
    424424                                wr_last_command, message, string); 
    425425                         
    426                         za_release(string); 
    427                         break; 
    428         } 
    429  
    430         za_release(arguments); 
     426                        wi_release(string); 
     427                        break; 
     428        } 
     429 
     430        wi_release(arguments); 
    431431         
    432432        return message; 
     
    435435 
    436436 
    437 za_boolean_t wr_send_command(za_string_t *fmt, ...) { 
    438         za_string_t           *string; 
     437wi_boolean_t wr_send_command(wi_string_t *fmt, ...) { 
     438        wi_string_t           *string; 
    439439        int                             result; 
    440440        va_list                 ap; 
    441441 
    442442        va_start(ap, fmt); 
    443         string = za_string_init_with_format_and_arguments(za_string_alloc(), fmt, ap); 
     443        string = wi_string_init_with_format_and_arguments(wi_string_alloc(), fmt, ap); 
    444444        va_end(ap); 
    445445         
    446         result = wr_send_command_on_socket(wr_socket, ZA_STR("%@"), string); 
    447          
    448         za_release(string); 
     446        result = wr_send_command_on_socket(wr_socket, WI_STR("%@"), string); 
     447         
     448        wi_release(string); 
    449449 
    450450        return (result > 0); 
     
    453453 
    454454 
    455 za_boolean_t wr_send_command_on_socket(za_socket_t *socket, za_string_t *fmt, ...) { 
    456         za_string_t           *string; 
     455wi_boolean_t wr_send_command_on_socket(wi_socket_t *socket, wi_string_t *fmt, ...) { 
     456        wi_string_t           *string; 
    457457        int                             result; 
    458458        va_list                 ap; 
    459459 
    460460        va_start(ap, fmt); 
    461         string = za_string_init_with_format_and_arguments(za_string_alloc(), fmt, ap); 
     461        string = wi_string_init_with_format_and_arguments(wi_string_alloc(), fmt, ap); 
    462462        va_end(ap); 
    463463         
    464         za_string_convert_encoding(string, wr_client_string_encoding, wr_server_string_encoding); 
    465  
    466         result = za_socket_write(socket, 15.0, ZA_STR("%@%c"), string, WR_MESSAGE_SEPARATOR); 
     464        wi_string_convert_encoding(string, wr_client_string_encoding, wr_server_string_encoding); 
     465 
     466        result = wi_socket_write(socket, 15.0, WI_STR("%@%c"), string, WR_MESSAGE_SEPARATOR); 
    467467 
    468468        if(result <= 0) 
    469                 wr_printf_prefix(ZA_STR("Could not write to server: %m")); 
    470          
    471         za_release(string); 
     469                wr_printf_prefix(WI_STR("Could not write to server: %m")); 
     470         
     471        wi_release(string); 
    472472 
    473473        return (result > 0); 
     
    478478#pragma mark - 
    479479 
    480 static void wr_msg_200(za_array_t *arguments) { 
    481         za_string_t           *password; 
     480static void wr_msg_200(wi_array_t *arguments) { 
     481        wi_string_t           *password; 
    482482        double                  protocol; 
    483483         
    484         wr_protocol = za_string_double_value(ZA_ARRAY(arguments, 1)); 
    485         protocol = za_string_double_value(wr_protocol_version_string); 
    486          
    487         za_release(wr_server); 
    488         wr_server = za_retain(ZA_ARRAY(arguments, 2)); 
     484        wr_protocol = wi_string_double_value(WI_ARRAY(arguments, 1)); 
     485        protocol = wi_string_double_value(wr_protocol_version_string); 
     486         
     487        wi_release(wr_server); 
     488        wr_server = wi_retain(WI_ARRAY(arguments, 2)); 
    489489 
    490490        wr_draw_divider(); 
     
    492492        if(!wr_logged_in) { 
    493493                if(wr_protocol > protocol) { 
    494                         wr_wprintf_prefix(wr_console_window, ZA_STR("Server protocol version %.1f may not be fully compatible with client protocol version %.1f"), 
     494                        wr_wprintf_prefix(wr_console_window, WI_STR("Server protocol version %.1f may not be fully compatible with client protocol version %.1f"), 
    495495                                wr_protocol, protocol); 
    496496                } 
    497497 
    498                 wr_send_command(ZA_STR("CLIENT %#@"), wr_client_version_string); 
    499                 wr_send_command(ZA_STR("NICK %#@"), wr_nick); 
    500                 wr_send_command(ZA_STR("STATUS %#@"), wr_status); 
    501                 wr_send_command(ZA_STR("ICON %u%c%s"), 0, WR_FIELD_SEPARATOR, wr_icon); 
    502                 wr_send_command(ZA_STR("USER %#@"), wr_login ? wr_login : ZA_STR("guest")); 
    503                  
    504                 password = za_string_length(wr_password) == 0 ? NULL : za_string_sha1(wr_password); 
    505                 wr_send_command(ZA_STR("PASS %#@"), password); 
    506                 za_release(password); 
    507                  
    508                 wr_send_command(ZA_STR("WHO %u"), 1); 
     498                wr_send_command(WI_STR("CLIENT %#@"), wr_client_version_string); 
     499                wr_send_command(WI_STR("NICK %#@"), wr_nick); 
     500                wr_send_command(WI_STR("STATUS %#@"), wr_status); 
     501                wr_send_command(WI_STR("ICON %u%c%s"), 0, WR_FIELD_SEPARATOR, wr_icon); 
     502                wr_send_command(WI_STR("USER %#@"), wr_login ? wr_login : WI_STR("guest")); 
     503                 
     504                password = wi_string_length(wr_password) == 0 ? NULL : wi_string_sha1(wr_password); 
     505                wr_send_command(WI_STR("PASS %#@"), password); 
     506                wi_release(password); 
     507                 
     508                wr_send_command(WI_STR("WHO %u"), 1); 
    509509 
    510510                wr_logged_in = true; 
     
    514514 
    515515 
    516 static void wr_msg_201(za_array_t *arguments) { 
    517         wr_wprintf_prefix(wr_console_window, ZA_STR("Logged in, welcome to %@"), wr_server); 
    518 } 
    519  
    520  
    521  
    522 static void wr_msg_202(za_array_t *arguments) { 
    523         za_time_interval_t    interval; 
     516static void wr_msg_201(wi_array_t *arguments) { 
     517        wr_wprintf_prefix(wr_console_window, WI_STR("Logged in, welcome to %@"), wr_server); 
     518} 
     519 
     520 
     521 
     522static void wr_msg_202(wi_array_t *arguments) { 
     523        wi_time_interval_t    interval; 
    524524 
    525525        if(wr_ping_time > 0.0) { 
    526                 interval = za_time_interval() - wr_ping_time; 
    527                  
    528                 wr_wprintf_prefix(wr_console_window, ZA_STR("Ping reply after %.2fms"), interval * 1000.0); 
     526                interval = wi_time_interval() - wr_ping_time; 
     527                 
     528                wr_wprintf_prefix(wr_console_window, WI_STR("Ping reply after %.2fms"), interval * 1000.0); 
    529529                 
    530530                wr_ping_time = 0.0; 
     
    534534 
    535535 
    536 static void wr_msg_300(za_array_t *arguments) { 
     536static void wr_msg_300(wi_array_t *arguments) { 
    537537        wr_user_t       *user; 
    538538        wr_cid_t        cid; 
    539539        wr_uid_t        uid; 
    540540 
    541         cid = za_string_unsigned_int_value(ZA_ARRAY(arguments, 0)); 
    542         uid = za_string_unsigned_int_value(ZA_ARRAY(arguments, 1)); 
     541        cid = wi_string_unsigned_int_value(WI_ARRAY(arguments, 0)); 
     542        uid = wi_string_unsigned_int_value(WI_ARRAY(arguments, 1)); 
    543543 
    544544        user = wr_user_with_uid(uid); 
    545545         
    546546        if(user && !wr_is_ignored(user->nick)) 
    547                 wr_wprint_say(wr_window_with_chat(cid), user->nick, ZA_ARRAY(arguments, 2)); 
    548 } 
    549  
    550  
    551  
    552 static void wr_msg_301(za_array_t *arguments) { 
     547                wr_wprint_say(wr_window_with_chat(cid), user->nick, WI_ARRAY(arguments, 2));&nbs