git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v6 06/11] ref-filter: introduce parse_align_position()

From
Karthik Nayak <karthik.188@gmail.com>
Date
Feb 17, 2016, 18:06 UTC
Message-ID
<1455732379-22479-7-git-send-email-Karthik.188@gmail.com>
In-Reply-To
<1455732379-22479-1-git-send-email-Karthik.188@gmail.com>
>From populate_value() extract parse_align_position() which given a

string would give us the alignment position. This is a preparatory patch as to introduce prefixes for the %(align) atom and avoid redundancy in the code.

Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Karthik Nayak <Karthik.188@gmail.com>
---
 ref-filter.c | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/ref-filter.c b/ref-filter.c
index c90d2f4..e8b076d 100644
--- a/ref-filter.c
+++ b/ref-filter.c
@@ -44,6 +44,17 @@ static void color_atom_parser(struct used_atom *atom, const char *color_value)
 		die(_("unrecognized color: %%(color:%s)"), color_value);
 }
 
+static align_type parse_align_position(const char *s)
+{
+	if (!strcmp(s, "right"))
+		return ALIGN_RIGHT;
+	else if (!strcmp(s, "middle"))
+		return ALIGN_MIDDLE;
+	else if (!strcmp(s, "left"))
+		return ALIGN_LEFT;
+	return -1;
+}
+
 static struct {
 	const char *name;
 	cmp_type cmp_type;
@@ -912,14 +923,12 @@ static void populate_value(struct ref_array_item *ref)
 			string_list_split(&params, valp, ',', -1);
 			for (i = 0; i < params.nr; i++) {
 				const char *s = params.items[i].string;
+				int position;
+
 				if (!strtoul_ui(s, 10, (unsigned int *)&width))
 					;
-				else if (!strcmp(s, "left"))
-					align->position = ALIGN_LEFT;
-				else if (!strcmp(s, "right"))
-					align->position = ALIGN_RIGHT;
-				else if (!strcmp(s, "middle"))
-					align->position = ALIGN_MIDDLE;
+				else if ((position = parse_align_position(s)) >= 0)
+					align->position = position;
 				else
 					die(_("improper format entered align:%s"), s);
 			}
-- 
2.7.1
Previous: Karthik NayakNext: Karthik Nayak
Message 13 of 18 in “ref-filter: use parsing functions”
  1. 00/11 ref-filter: use parsing functionsKarthik Nayak, Feb 17, 2016
  2. 01/11 ref-filter: use string_list_split over strbuf_splitKarthik Nayak, Feb 17, 2016
  3. Eric SunshineFeb 17, 2016
  4. Jeff KingFeb 17, 2016
  5. Junio C HamanoFeb 17, 2016
  6. Eric SunshineFeb 17, 2016
  7. Jeff KingFeb 17, 2016
  8. Karthik NayakFeb 18, 2016
  9. 02/11 ref-filter: bump 'used_atom' and related code to the topKarthik Nayak, Feb 17, 2016
  10. 03/11 ref-filter: introduce struct used_atomKarthik Nayak, Feb 17, 2016
  11. 04/11 ref-filter: introduce parsing functions for each valid atomKarthik Nayak, Feb 17, 2016
  12. 05/11 ref-filter: introduce color_atom_parser()Karthik Nayak, Feb 17, 2016
  13. 06/11 ref-filter: introduce parse_align_position()Karthik Nayak, Feb 17, 2016
  14. 07/11 ref-filter: introduce align_atom_parser()Karthik Nayak, Feb 17, 2016
  15. 08/11 ref-filter: align: introduce long-form syntaxKarthik Nayak, Feb 17, 2016
  16. 09/11 ref-filter: introduce remote_ref_atom_parser()Karthik Nayak, Feb 17, 2016
  17. 10/11 ref-filter: introduce contents_atom_parser()Karthik Nayak, Feb 17, 2016
  18. 11/11 ref-filter: introduce objectname_atom_parser()Karthik Nayak, Feb 17, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.