pop_data->conn->data = pop_data;
conn->data = pop_data;
int pop_open_mailbox (CONTEXT *ctx){  int ret;  char buf[LONG_STRING];  ACCOUNT acct;  POP_DATA *pop_data;  ciss_url_t url;  if (pop_parse_path (ctx->path, &acct))  {    mutt_error ("%s is an invalid POP path", ctx->path);    mutt_sleep (2);    return -1;  }  mutt_account_tourl (&acct, &url);  url.path = NULL;  url_ciss_tostring (&url, buf, sizeof (buf), 0);  FREE (&ctx->path);  ctx->path = safe_strdup (buf);  pop_data = safe_calloc (1, sizeof (POP_DATA));  pop_data->conn = mutt_conn_find (NULL, &acct);  ctx->data = pop_data;  if (pop_open_connection (pop_data) < 0)    return -1;  pop_data->conn->data = pop_data;  FOREVER  {    if (pop_reconnect (ctx) < 0)      return -1;    ctx->size = pop_data->size;    mutt_message _("Fetching list of messages...");    ret = pop_fetch_headers (ctx);    if (ret >= 0)      return 0;    if (ret < -1)    {      mutt_sleep (2);      return -1;    }  }}