void *id; /* ID */
SilcIdType id_type; /* ID type */
unsigned int index : 15; /* Index to IDs */
- unsigned int type : 2; /* 0 = take from query->ids, 0 = take
+ unsigned int type : 2; /* 0 = take from query->ids, 0 = take
from args, 2 = no args in error. */
unsigned int error : 7; /* The actual error (SilcStatus) */
} *SilcServerQueryError;
silc_server_public_key_hash_foreach,
&usercontext);
- if (usercontext.found == TRUE)
+ if (usercontext.found == TRUE)
found = TRUE;
} else {
for (i = 0; i < *clients_count; i++) {
silc_get_status_message(query->errors[i].error),
query->errors[i].error));
+#if 1 /* XXX Backwards compatibility. Remove in 1.0. */
+ if (query->errors[i].error == SILC_STATUS_ERR_NO_SUCH_NICK)
+ /* Send error */
+ silc_server_send_command_reply(server, cmd->sock, query->querycmd,
+ (status == SILC_STATUS_OK ?
+ query->errors[i].error : status),
+ (status == SILC_STATUS_OK ?
+ 0 : query->errors[i].error), ident, 2,
+ type, tmp, len,
+ 3, tmp, len);
+ else
+#endif
/* Send error */
silc_server_send_command_reply(server, cmd->sock, query->querycmd,
(status == SILC_STATUS_OK ?
(status == SILC_STATUS_OK ?
0 : query->errors[i].error), ident, 1,
type, tmp, len);
+
silc_buffer_free(idp);
sent_reply = TRUE;