Added more joining error handling for server 1.1.
authorPekka Riikonen <priikone@silcnet.org>
Sun, 10 Jun 2007 19:32:15 +0000 (19:32 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Sun, 10 Jun 2007 19:32:15 +0000 (19:32 +0000)
apps/irssi/src/silc/core/client_ops.c
apps/irssi/src/silc/core/silc-core.c
configure.ad
lib/configure.ad

index e64b6fbac7d8335dd72e280af49841b325d36c3f..38e90d0844553855d9cc38cc2497756754e37975 100644 (file)
@@ -729,11 +729,10 @@ void silc_notify(SilcClient client, SilcClientConnection conn,
     name = va_arg(va, char *);
     client_entry = va_arg(va, SilcClientEntry);
 
-    memset(buf, 0, sizeof(buf));
-    snprintf(buf, sizeof(buf) - 1, "%s@%s",
-            client_entry->username, client_entry->hostname);
-    signal_emit("message invite", 4, server, channel ? channel->channel_name :
-               name, client_entry->nickname, buf);
+    silc_snprintf(buf, sizeof(buf) - 1, "%s@%s",
+                 client_entry->username, client_entry->hostname);
+    signal_emit("message invite", 4, server, name,
+               client_entry->nickname, buf);
     break;
 
   case SILC_NOTIFY_TYPE_JOIN:
@@ -1737,6 +1736,20 @@ void silc_command_reply(SilcClient client, SilcClientConnection conn,
       NICK_REC *ownnick;
 
       if (SILC_STATUS_IS_ERROR(status)) {
+       if (status == SILC_STATUS_ERR_NO_SUCH_SERVER) {
+         char *tmp = va_arg(vp, char *);
+         if (tmp)
+           silc_say_error("JOIN: %s: %s", tmp,
+                          silc_get_status_message(status));
+         return;
+       }
+       if (status == SILC_STATUS_ERR_NO_SUCH_CHANNEL) {
+         char *tmp = va_arg(vp, char *);
+         if (tmp)
+           silc_say_error("JOIN: %s: %s", tmp,
+                          silc_get_status_message(status));
+         return;
+       }
        silc_say_error("JOIN: %s", silc_get_status_message(status));
        return;
       }
index aadf2662454d64ff3c0991d351bf46d4f1eae9f2..4385a2a2e49292ddfd4366ee0df98d1140e327d8 100644 (file)
@@ -775,6 +775,7 @@ void silc_core_init(void)
   /* Initialize client parameters */
   memset(&params, 0, sizeof(params));
   strcat(params.nickname_format, settings_get_str("nickname_format"));
+  params.full_channel_names = TRUE;
 
   /* Allocate SILC client */
   silc_client = silc_client_alloc(&ops, &params, NULL, silc_version_string);
index 4dd8e659b18c83e6fc96cc292b7def4e87e0a0b1..47702fb418fce498db2117fe8495ad766a25a1c0 100644 (file)
@@ -605,7 +605,7 @@ else
   # pkg-config check
   PKG_CHECK_MODULES(SILC, [silc >= 1.1], compile_libs=false, compile_libs=true)
 #ifdef SILC_DIST_CLIENTLIB
-  PKG_CHECK_MODULES(SILCCLIENT, [silcclient >= 1.1], compile_libs=false, compile_libs=true)
+  PKG_CHECK_MODULES(SILCCLIENT, [silcclient >= 1.1.1], compile_libs=false, compile_libs=true)
 #endif SILC_DIST_CLIENTLIB
 #ifdef SILC_DIST_SERVERLIB
   PKG_CHECK_MODULES(SILCSERVER, silcserver, compile_libs=false, compile_libs=true)
index 56df49e36ee233c2e8a5dee839835b778721555d..7821a258b8c638fa4935d7eaa58697623ba0d12b 100644 (file)
@@ -88,8 +88,8 @@ LIBSILC_REVISION=0            # prev = 0
 LIBSILC_AGE=0                  # prev = 0
 
 # libsilcclient versions
-LIBSILCCLIENT_CURRENT=1                # prev = 1
-LIBSILCCLIENT_REVISION=1       # prev = 0
+LIBSILCCLIENT_CURRENT=2                # prev = 1
+LIBSILCCLIENT_REVISION=0       # prev = 0
 LIBSILCCLIENT_AGE=0            # prev = 0
 
 # libsilcserver versions