static const char *get_capability(struct client *client)
{
- struct imap_client *imap_client = (struct imap_client *)client;
+ struct imap_client *imap_client =
+ container_of(client, struct imap_client, common);
string_t *cap_str = t_str_new(256);
bool explicit_capability = FALSE;
static bool imap_client_input_next_cmd(struct client *_client)
{
- struct imap_client *client = (struct imap_client *)_client;
+ struct imap_client *client =
+ container_of(_client, struct imap_client, common);
const struct imap_arg *args;
bool parsed;
int ret;
static void imap_client_input(struct client *client)
{
- struct imap_client *imap_client = (struct imap_client *)client;
+ struct imap_client *imap_client =
+ container_of(client, struct imap_client, common);
if (!client_read(client))
return;
static int imap_client_create(struct client *client)
{
- struct imap_client *imap_client = (struct imap_client *)client;
+ struct imap_client *imap_client =
+ container_of(client, struct imap_client, common);
const char *error;
if (settings_get(client->event, &imap_login_setting_parser_info, 0,
static void imap_client_destroy(struct client *client)
{
- struct imap_client *imap_client = (struct imap_client *)client;
+ struct imap_client *imap_client =
+ container_of(client, struct imap_client, common);
/* Prevent memory leak of ID command if client got disconnected before
command was finished. */
static void imap_client_starttls(struct client *client)
{
- struct imap_client *imap_client = (struct imap_client *)client;
+ struct imap_client *imap_client =
+ container_of(client, struct imap_client, common);
imap_parser_unref(&imap_client->parser);
imap_client->parser =
const char *prefix, const char *resp_code,
const char *text, bool tagged)
{
- struct imap_client *imap_client = (struct imap_client *)client;
+ struct imap_client *imap_client =
+ container_of(client, struct imap_client, common);
T_BEGIN {
string_t *line = t_str_new(256);