From: Kevin McCarthy Date: Tue, 10 Nov 2015 02:53:05 +0000 (-0800) Subject: Improve error messages for eat_date() and eat_regexp(). X-Git-Tag: neomutt-20160404~102 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f8df85384202e01f227507b3ef70ec32d5824d63;p=neomutt Improve error messages for eat_date() and eat_regexp(). After calling mutt_extract_token(), s->dptr will typically be at the end of the string if an error occurred. Save a pointer to the beginning of the expression, so it can be properly displayed in the error message. Convert eat_date() and eat_regexp() to use the same iconv strings for the error message. --- diff --git a/pattern.c b/pattern.c index 6f05b4a50..2d1330239 100644 --- a/pattern.c +++ b/pattern.c @@ -256,12 +256,14 @@ static int eat_regexp (pattern_t *pat, BUFFER *s, BUFFER *err) BUFFER buf; char errmsg[STRING]; int r; + char *pexpr; mutt_buffer_init (&buf); + pexpr = s->dptr; 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); + snprintf (err->data, err->dsize, _("Error in expression: %s"), pexpr); return (-1); } if (!*buf.data) @@ -574,12 +576,14 @@ static int eat_date (pattern_t *pat, BUFFER *s, BUFFER *err) { BUFFER buffer; struct tm min, max; + char *pexpr; mutt_buffer_init (&buffer); + pexpr = s->dptr; if (mutt_extract_token (&buffer, s, M_TOKEN_COMMENT | M_TOKEN_PATTERN) != 0 || !buffer.data) { - strfcpy (err->data, _("error in expression"), err->dsize); + snprintf (err->data, err->dsize, _("Error in expression: %s"), pexpr); return (-1); } if (!*buffer.data)