Exemplo n.º 1
0
static int mhdriver_cached_initialize(mailsession * session)
{
  struct mh_cached_session_state_data * data;

  data = malloc(sizeof(* data));
  if (data == NULL)
    goto err;

  data->mh_flags_store = mail_flags_store_new();
  if (data->mh_flags_store == NULL)
    goto free;

  data->mh_ancestor = mailsession_new(mh_session_driver);
  if (data->mh_ancestor == NULL)
    goto free_store;

  data->mh_quoted_mb = NULL;
  
  session->sess_data = data;
  
  return MAIL_NO_ERROR;

 free_store:
  mail_flags_store_free(data->mh_flags_store);
 free:
  free(data);
 err:
  return MAIL_ERROR_MEMORY;
}
Exemplo n.º 2
0
static int pop3driver_cached_initialize(mailsession * session)
{
  struct pop3_cached_session_state_data * data;

  data = malloc(sizeof(* data));
  if (data == NULL)
    goto err;

  data->pop3_flags_store = mail_flags_store_new();
  if (data->pop3_flags_store == NULL)
    goto free_data;

  data->pop3_ancestor = mailsession_new(pop3_session_driver);
  if (data->pop3_ancestor == NULL)
    goto free_store;

  data->pop3_flags_hash = chash_new(128, CHASH_COPYNONE);
  if (data->pop3_flags_hash == NULL)
    goto free_session;

  session->sess_data = data;

  return MAIL_NO_ERROR;

 free_session:
  mailsession_free(data->pop3_ancestor);
 free_store:
  mail_flags_store_free(data->pop3_flags_store);
 free_data:
  free(data);
 err:
  return MAIL_ERROR_MEMORY;
}
Exemplo n.º 3
0
static int initialize(mailsession * session)
{
  struct maildir_session_state_data * data;

  data = malloc(sizeof(* data));
  if (data == NULL)
    goto err;

  data->md_session = NULL;

  data->md_flags_store = mail_flags_store_new();
  if (data->md_flags_store == NULL)
    goto free;

  session->sess_data = data;

  return MAIL_NO_ERROR;

 free:
  free(data);
 err:
  return MAIL_ERROR_MEMORY;
}