int r;
memset (&buf, 0, sizeof (buf));
+
if (mutt_extract_token (&buf, s, M_TOKEN_PATTERN | M_TOKEN_COMMENT) != 0 ||
!buf.data) {
snprintf (err->data, err->dsize, _("Error in expression: %s"), s->dptr);
return (-1);
}
+ if (!*buf.data) {
+ snprintf (err->data, err->dsize, _("Empty expression"));
+ return (-1);
+ }
+
#if 0
/* If there are no RE metacharacters, use simple search anyway */
if (!pat->stringmatch && !strpbrk (buf.data, "|[{.*+?^$"))
case M_WHOLE_MSG:
#ifdef USE_IMAP
/* IMAP search sets h->matched at search compile time */
- if (Context->magic == M_IMAP && pat->stringmatch)
+ if (ctx->magic == M_IMAP && pat->stringmatch)
return (h->matched);
#endif
return (pat->not ^ msg_search (ctx, pat, h->msgno));