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

[PATCH] graph: use strbuf_addchars() to add spaces

From
René Scharfe <l.s.r@web.de>
Date
Oct 1, 2017, 14:45 UTC
Message-ID
<16d71d5b-6abf-4dcf-0a0b-c09fda7407f7@web.de>

strbuf_addf() can be used to add a specific number of space characters by using the format "%*s" with an empty string and specifying the desired width. Use strbuf_addchars() instead as it's shorter, makes the intent clearer and is a bit more efficient.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
---
 graph.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/graph.c b/graph.c
index e7e20650da..e1f6d3bddb 100644
--- a/graph.c
+++ b/graph.c
@@ -696,12 +696,8 @@ static void graph_pad_horizontally(struct git_graph *graph, struct strbuf *sb,
 	 * This way, fields printed to the right of the graph will remain
 	 * aligned for the entire commit.
 	 */
-	int extra;
-	if (chars_written >= graph->width)
-		return;
-
-	extra = graph->width - chars_written;
-	strbuf_addf(sb, "%*s", (int) extra, "");
+	if (chars_written < graph->width)
+		strbuf_addchars(sb, ' ', graph->width - chars_written);
 }
 
 static void graph_output_padding_line(struct git_graph *graph,
@@ -787,7 +783,7 @@ static void graph_output_pre_commit_line(struct git_graph *graph,
 		if (col->commit == graph->commit) {
 			seen_this = 1;
 			strbuf_write_column(sb, col, '|');
-			strbuf_addf(sb, "%*s", graph->expansion_row, "");
+			strbuf_addchars(sb, ' ', graph->expansion_row);
 			chars_written += 1 + graph->expansion_row;
 		} else if (seen_this && (graph->expansion_row == 0)) {
 			/*
-- 
2.14.2
Next: Jeff King
Message 1 of 2 in “graph: use strbuf_addchars() to add spaces”
  1. graph: use strbuf_addchars() to add spacesRené Scharfe, Oct 1, 2017
  2. Jeff KingOct 2, 2017

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.