On Fri, 2004-09-10 at 10:35 +0100, David Woodhouse wrote:
> baythorne.infradead.org in "@mx_any"? yes (matched "@mx_any")
> baythorne.infradead.org in "+anymx"? yes (matched "+anymx")
> checking "condition"
> baythorne.infradead.org in "@mx_any"? no (end of list)
> baythorne.infradead.org in "+anymx"? no (end of list)
>
> Suggested patch:
Perhaps this would be better, if we don't want to actually expand the
string, but we do still want the magic 'at_is_special' items in the list
to work. At first glance I don't see another caller of match_isinlist()
with MCL_DOMAIN+MCL_NOEXPAND which would be affected by such a change.
The other alternative would be to call match_check_list() directly, as
we do in check_address().
--- src/match.c~ 2004-08-26 15:09:59.000000000 +0100
+++ src/match.c 2004-09-10 10:46:33.204311820 +0100
@@ -872,7 +872,7 @@
cb.expand_setup = (sep > UCHAR_MAX)? 0 : -1;
cb.use_partial = TRUE;
cb.caseless = caseless;
-cb.at_is_special = (type == MCL_DOMAIN);
+cb.at_is_special = (type == MCL_DOMAIN || type == MCL_DOMAIN + MCL_NOEXPAND);
if (valueptr != NULL) *valueptr = NULL;
return match_check_list(listptr, sep, anchorptr, &local_cache_bits,
check_string, &cb, type, s, valueptr);
--
dwmw2