if (get_literal_count(buf, &bytes) < 0)
if (imap_get_literal_count(buf, &bytes) < 0)
int imap_parse_list_response(CONNECTION *conn, char *buf, int buflen,  char **name, int *noselect, int *noinferiors, char *delim){  IMAP_DATA *idata = CONN_DATA;  char *s;  long bytes;  *name = NULL;  if (mutt_socket_read_line_d (buf, buflen, conn) < 0)  {    return (-1);  }  if (buf[0] == '*')  {    s = imap_next_word (buf);    if ((mutt_strncasecmp ("LIST", s, 4) == 0) ||	(mutt_strncasecmp ("LSUB", s, 4) == 0))    {      *noselect = 0;      *noinferiors = 0;            s = imap_next_word (s); /* flags */      if (*s == '(')      {	char *ep;		s++;	ep = s;	while (*ep && *ep != ')') ep++;	do {	  if (!strncmp (s, "\\NoSelect", 9))	    *noselect = 1;	  if (!strncmp (s, "\\NoInferiors", 12))	    *noinferiors = 1;	  if (*s != ')')	    s++;	  while (*s && *s != '\\' && *s != ')') s++;	} while (s != ep);      }      else	return (0);      s = imap_next_word (s); /* delim */      /* Reset the delimiter, this can change */      if (strncmp (s, "NIL", 3))      {	if (s && s[0] == '\"' && s[1] && s[2] == '\"')	  *delim = s[1];	else if (s && s[0] == '\"' && s[1] && s[1] == '\\' && s[2] && s[3] == '\"')	  *delim = s[2];      }      s = imap_next_word (s); /* name */      if (s && *s == '{')	/* Literal */      { 	int len;		if (get_literal_count(buf, &bytes) < 0)	  return (-1);	len = mutt_socket_read_line (buf, buflen, conn);	if (len < 0)	  return (-1);	*name = buf;      }      else	*name = s;    }    else    {      if (imap_handle_untagged (idata, buf) != 0)	return (-1);    }  }  return (0);}