+#ifdef SILC_PLUGIN
+ unsigned char **argv=NULL, *tmp;
+ SilcUInt32 *argv_lens=NULL, *argv_types=NULL, argc=0;
+ int i;
+ unsigned char privkey[128], pubkey[128];
+
+ memset(privkey, 0, sizeof(privkey));
+ memset(pubkey, 0, sizeof(pubkey));
+ snprintf(pubkey, sizeof(pubkey) - 1, "%s/%s", get_irssi_dir(),
+ SILC_CLIENT_PUBLIC_KEY_NAME);
+ snprintf(privkey, sizeof(privkey) - 1, "%s/%s", get_irssi_dir(),
+ SILC_CLIENT_PRIVATE_KEY_NAME);
+
+ tmp = g_strconcat("SILC", " ", data, NULL);
+ silc_parse_command_line(tmp, &argv, &argv_lens, &argv_types, &argc, 6);
+ g_free(tmp);
+
+ if (argc < 2)
+ goto err;
+#else
+ if (strcmp(opt->longName, "nick") == 0) {
+ g_free(opt_nickname);
+ opt_nickname = g_strdup(arg);
+ }
+
+ if (strcmp(opt->longName, "hostname") == 0) {
+ silc_free(opt_hostname);
+ opt_hostname = strdup(arg);
+ }
+#endif
+
+#ifdef SILC_PLUGIN
+ if ((argc == 2) && (strcasecmp(argv[1], "list-ciphers") == 0)) {
+#else