if (*s != ')') s = imap_next_word (s);
while (s < ep && *s != ' ' && *s != ')') s++; if (*s == ' ') s++;
static void cmd_parse_lsub (IMAP_DATA* idata, char* s){  char buf[STRING];  char errstr[STRING];  BUFFER err, token;  ciss_url_t url;  char *ep;  if (!option (OPTIMAPCHECKSUBSCRIBED))    return;  s = imap_next_word (s); /* flags */    if (*s != '(')  {    dprint (1, (debugfile, "Bad LSUB response\n"));    return;  }  s++;  ep = s;  for (ep = s; *ep && *ep != ')'; ep++)    ;  do  {    if (!ascii_strncasecmp (s, "\\NoSelect", 9))      return;    if (*s != ')')      s = imap_next_word (s);  } while (s != ep);  s = imap_next_word (s); /* delim */  s = imap_next_word (s); /* name */    if (s)  {    imap_unmunge_mbox_name (s);    dprint (2, (debugfile, "Subscribing to %s\n", s));        strfcpy (buf, "mailboxes \"", sizeof (buf));    mutt_account_tourl (&idata->conn->account, &url);    url.path = s;    if (!mutt_strcmp (url.user, ImapUser))      url.user = NULL;    url_ciss_tostring (&url, buf + 11, sizeof (buf) - 10, 0);    safe_strcat (buf, sizeof (buf), "\"");    memset (&token, 0, sizeof (token));    err.data = errstr;    err.dsize = sizeof (errstr);    if (mutt_parse_rc_line (buf, &token, &err))      dprint (1, (debugfile, "Error adding subscribed mailbox: %s\n", errstr));    FREE (&token.data);  }  else    dprint (1, (debugfile, "Bad LSUB response\n"));}