Thread (40 messages) flat view 40 messages, 3 authors, 2016-06-15

Re: [PATCH/RFC 09/10] ref-filter: introduce contents_atom_parser()

From: Eric Sunshine <hidden>
Date: 2016-06-15 23:07:26

On Sat, Dec 12, 2015 at 10:10 PM, Eric Sunshine [off-list ref] wrote:
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).

If you change this to an enum as suggested in my previous email, then
the problem goes away.
quoted
+       if (!strcmp(buf, "body"))
+               atom->u.contents.body = 1;
+       else if (!strcmp(buf, "signature"))
+               atom->u.contents.signature = 1;
+       else if (!strcmp(buf, "subject"))
+               atom->u.contents.subject = 1;
+       else if (skip_prefix(buf, "lines=", &buf)) {
+               atom->u.contents.lines = 1;
+               if (strtoul_ui(buf, 10, &atom->u.contents.no_lines))
+                       die(_("positive value expected contents:lines=%s"), buf);
+       } else
+               die(_("improper format entered contents:%s"), buf);
+}
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help