Introduce a parsing function for each atom in valid_atom. Using this we can define special parsing functions for each of the atoms. Since we have a third field in valid_atom structure, we now fill out missing cmp_type values. Signed-off-by: Karthik Nayak <Karthik.188@xxxxxxxxx> --- ref-filter.c | 59 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/ref-filter.c b/ref-filter.c index e205dd2..fbbda17 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -19,42 +19,43 @@ typedef enum { FIELD_STR, FIELD_ULONG, FIELD_TIME } cmp_type; static struct { const char *name; cmp_type cmp_type; + void (*parser)(struct used_atom *atom); } valid_atom[] = { - { "refname" }, - { "objecttype" }, + { "refname", FIELD_STR }, + { "objecttype", FIELD_STR }, { "objectsize", FIELD_ULONG }, - { "objectname" }, - { "tree" }, - { "parent" }, + { "objectname", FIELD_STR }, + { "tree", FIELD_STR }, + { "parent", FIELD_STR }, { "numparent", FIELD_ULONG }, - { "object" }, - { "type" }, - { "tag" }, - { "author" }, - { "authorname" }, - { "authoremail" }, + { "object", FIELD_STR }, + { "type", FIELD_STR }, + { "tag", FIELD_STR }, + { "author", FIELD_STR }, + { "authorname", FIELD_STR }, + { "authoremail", FIELD_STR }, { "authordate", FIELD_TIME }, - { "committer" }, - { "committername" }, - { "committeremail" }, + { "committer", FIELD_STR }, + { "committername", FIELD_STR }, + { "committeremail", FIELD_STR }, { "committerdate", FIELD_TIME }, - { "tagger" }, - { "taggername" }, - { "taggeremail" }, + { "tagger", FIELD_STR }, + { "taggername", FIELD_STR }, + { "taggeremail", FIELD_STR }, { "taggerdate", FIELD_TIME }, - { "creator" }, + { "creator", FIELD_STR }, { "creatordate", FIELD_TIME }, - { "subject" }, - { "body" }, - { "contents" }, - { "upstream" }, - { "push" }, - { "symref" }, - { "flag" }, - { "HEAD" }, - { "color" }, - { "align" }, - { "end" }, + { "subject", FIELD_STR }, + { "body", FIELD_STR }, + { "contents", FIELD_STR }, + { "upstream", FIELD_STR }, + { "push", FIELD_STR }, + { "symref", FIELD_STR }, + { "flag", FIELD_STR }, + { "HEAD", FIELD_STR }, + { "color", FIELD_STR }, + { "align", FIELD_STR }, + { "end", FIELD_STR }, }; #define REF_FORMATTING_STATE_INIT { 0, NULL } -- 2.6.2 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html