if (imap_parse_path (path, host, sizeof (host), &port, NULL, &ipath))
if (imap_parse_path (path, &mx))
int imap_subscribe (char *path, int subscribe){  CONNECTION *conn;  IMAP_DATA *idata;  char buf[LONG_STRING];  char mbox[LONG_STRING];  char host[SHORT_STRING];  char *ipath = NULL;  int port;  if (imap_parse_path (path, host, sizeof (host), &port, NULL, &ipath))    return (-1);  conn = mutt_socket_select_connection (host, port, 0);  idata = CONN_DATA;  if (!idata || (idata->state == IMAP_DISCONNECTED))  {    if (!idata)    {      /* The current connection is a new connection */      idata = safe_calloc (1, sizeof (IMAP_DATA));      conn->data = idata;      idata->conn = conn;    }    if (imap_open_connection (idata, conn))      return -1;  }  imap_fix_path (idata, ipath, buf, sizeof (buf));  if (subscribe)    mutt_message (_("Subscribing to %s..."), buf);  else    mutt_message (_("Unsubscribing to %s..."), buf);  imap_quote_string (mbox, sizeof(mbox), buf);  snprintf (buf, sizeof (buf), "%s %s", subscribe ? "SUBSCRIBE" :    "UNSUBSCRIBE", mbox);  if (imap_exec (buf, sizeof (buf), idata, buf, 0) < 0)    return -1;  return 0;}