+Wed Jun 27 22:24:47 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
+
+ * /WHOIS without arguments shows client's own information.
+ Affected file lib/silcclient/command.c.
+
+ * Changed PING to not accept any arguments. The specs
+ says that client can ping only the connected server so
+ requiring an argument is not needed. Affected file is
+ lib/silcclient/command.c.
+
Wed Jun 27 00:10:33 EEST 2001 Pekka Riikonen <priikone@silcnet.org>
* Fixed a fatal bug in private message sending and reception
TODO/bugs in Irssi SILC client
==============================
- o /cmode #c +p says "not channel operator" even though is operator.
-
- o /WHOIS without arguments should so client's own info.
-
- o Do not let the Irssi show the passphrase of the channel on the screen.
-
- o Do not execute PING for invalid entities.
-
- o Do not let irssi u pdate the status bar on JOIN until the join command
+ o Do not let irssi update the status bar on JOIN until the join command
is successful, so that it does not update that I'm on the channel
even though I could not join the channel.
/* SYNTAX: NICK <nickname> */
/* SYNTAX: NOTICE <message> */
/* SYNTAX: PART [<channel>] */
-/* SYNTAX: PING [<server>] */
+/* SYNTAX: PING */
/* SYNTAX: SCONNECT <server> [<port>] */
/* SYNTAX: USERS <channel> */
goto out;
}
- if (cmd->argc < 2 || cmd->argc > 3) {
- cmd->client->ops->say(cmd->client, conn,
- "Usage: /WHOIS <nickname>[@<server>] [<count>]");
- COMMAND_ERROR;
+ /* Given without arguments fetches client's own information */
+ if (cmd->argc < 2) {
+ buffer = silc_id_payload_encode(cmd->conn->local_id, SILC_ID_CLIENT);
+ silc_client_send_command(cmd->client, cmd->conn, SILC_COMMAND_WHOIS,
+ ++conn->cmd_ident,
+ 1, 3, buffer->data, buffer->len);
+ silc_buffer_free(buffer);
goto out;
}
goto out;
}
- if (cmd->argc == 1 || !strcmp(cmd->argv[1], conn->remote_host))
- name = strdup(conn->remote_host);
-
/* Send the command */
buffer = silc_command_payload_encode_va(SILC_COMMAND_PING, 0, 1,
1, conn->remote_id_data,
if (conn->ping[i].dest_id == NULL) {
conn->ping[i].start_time = time(NULL);
conn->ping[i].dest_id = id;
- conn->ping[i].dest_name = name;
+ conn->ping[i].dest_name = strdup(conn->remote_host);
conn->ping_count++;
break;
}
conn->ping = silc_realloc(conn->ping, sizeof(*conn->ping) * (i + 1));
conn->ping[i].start_time = time(NULL);
conn->ping[i].dest_id = id;
- conn->ping[i].dest_name = name;
+ conn->ping[i].dest_name = strdup(conn->remote_host);
conn->ping_count++;
}