* received but ID entry does not exist, NULL is sent.
*/
-#include "silc.h"
+#include "silcincludes.h"
#include "silcclient.h"
#include "client_internal.h"
/* No specific identifier for command reply, call first one found */
(*reply)(ctx, NULL);
else
- silc_free(ctx);
+ silc_client_command_reply_free(ctx);
}
}
SILC_LOG_DEBUG(("Command reply context %p refcnt %d->%d", cmd,
cmd->users + 1, cmd->users));
if (cmd->users < 1) {
+ if (cmd->callbacks)
+ silc_free(cmd->callbacks);
silc_command_payload_free(cmd->payload);
silc_free(cmd);
}
void
silc_client_command_reply_whois_save(SilcClientCommandReplyContext cmd,
SilcStatus status,
- SilcBool notify)
+ bool notify)
{
SilcClientConnection conn = (SilcClientConnection)cmd->sock->user_data;
SilcClientID *client_id;
char *realname = NULL;
SilcUInt32 idle = 0, mode = 0;
SilcBufferStruct channels, ch_user_modes;
- SilcBool has_channels = FALSE, has_user_modes = FALSE;
+ bool has_channels = FALSE, has_user_modes = FALSE;
unsigned char *fingerprint;
SilcUInt32 fingerprint_len;
static void
silc_client_command_reply_identify_save(SilcClientCommandReplyContext cmd,
SilcStatus status,
- SilcBool notify)
+ bool notify)
{
SilcClientConnection conn = (SilcClientConnection)cmd->sock->user_data;
SilcClient client = cmd->client;
{
SilcClientCommandReplyContext cmd = (SilcClientCommandReplyContext)context;
SilcClientConnection conn = (SilcClientConnection)cmd->sock->user_data;
- void *id;
+ void *id = NULL;
int i;
time_t diff, curtime;
}
}
- silc_free(id);
-
/* Notify application */
COMMAND_REPLY((SILC_ARGS));
out:
+ if (id)
+ silc_free(id);
SILC_CLIENT_PENDING_EXEC(cmd, SILC_COMMAND_PING);
silc_client_command_reply_free(cmd);
}
static int
silc_client_command_reply_users_save(SilcClientCommandReplyContext cmd,
SilcStatus status,
- SilcBool notify,
- SilcBool resolve,
+ bool notify,
+ bool resolve,
SilcGetChannelCallback get_channel,
SilcCommandCb get_clients)
{
int i;
unsigned char **res_argv = NULL;
SilcUInt32 *res_argv_lens = NULL, *res_argv_types = NULL, res_argc = 0;
- SilcBool wait_res = FALSE;
+ bool wait_res = FALSE;
SILC_LOG_DEBUG(("Start"));