p--;
category--;
static int parse_attachments (BUFFER *buf, BUFFER *s, unsigned long data, BUFFER *err){  char op, *p;  LIST **listp;  mutt_extract_token(buf, s, 0);  if (!buf->data || *buf->data == '\0') {    strfcpy(err->data, _("attachments: no disposition"), err->dsize);    return -1;  }  p = buf->data;  op = *p++;  if (op != '+' && op != '-') {    op = '+';    p--;  }  if (!mutt_strncasecmp(p, "attachment", strlen(p))) {    if (op == '+')      listp = &AttachAllow;    else      listp = &AttachExclude;  }  else if (!mutt_strncasecmp(p, "inline", strlen(p))) {    if (op == '+')      listp = &InlineAllow;    else      listp = &InlineExclude;  }  else {    strfcpy(err->data, _("attachments: invalid disposition"), err->dsize);    return -1;  }  return parse_attach_list(buf, s, listp, err);}