Re: [PATCH/RFC 09/10] ref-filter: introduce contents_atom_parser()
From: Karthik Nayak <hidden>
Date: 2016-06-15 23:07:26
On Sun, Dec 13, 2015 at 10:11 AM, Eric Sunshine [off-list ref] wrote:
On Sat, Dec 12, 2015 at 10:10 PM, Eric Sunshine [off-list ref] wrote:quoted
On Wed, Nov 11, 2015 at 2:44 PM, Karthik Nayak [off-list ref] wrote:quoted
+void contents_atom_parser(struct used_atom *atom) +{ + const char * buf; + + if (match_atom_name(atom->str, "contents", &buf)) + atom->u.contents.all = 1; + + if (!buf) + return;Also, isn't this logic somewhat bogus? u.contents.all is set to 1 for both bare %(contents) and decorated %(contents:whatever). Then, below, you also set one of .body, .signature, .subject, or .lines if a decoration is specified. So, now you have both .all and one of the other attributes set to 1, which is rather nonsensical (if I understand correctly).
The problem is its not mutually exclusive here, the 'all' was supposed to act as a way of checking if its a contents atom, since populate_value() doesn't really check that again. So if any of the others were selected we would implement %(contents:<value>) else the bare %(contents:<value>) would be selected.
If you change this to an enum as suggested in my previous email, then the problem goes away.
Yup. Will do. Thanks -- Regards, Karthik Nayak