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

[PATCH 2/2] pretty: allow "max-size" magic for all placeholders

From
Jeff King <peff@peff.net>
Date
Dec 23, 2011, 10:36 UTC
Message-ID
<20111223103639.GB28036@sigill.intra.peff.net>
In-Reply-To
<20111223100957.GA1247@sigill.intra.peff.net>

You can now truncate a given placeholder to no more than a certain number of characters with something like "%30s".

Signed-off-by: Jeff King <peff@peff.net>
---
This just uses the made-up "%30s" syntax, but you could easily tweak it
to handle "%.30s" or whatever.
 pretty.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/pretty.c b/pretty.c
index 7b4d098..06d96a7 100644
--- a/pretty.c
+++ b/pretty.c
@@ -1019,6 +1019,7 @@ static size_t format_commit_item(struct strbuf *sb, const char *placeholder,
 {
 	int consumed;
 	int magic_len = 0;
+	int max_len = 0;
 	size_t orig_len;
 	enum {
 		NO_MAGIC,
@@ -1045,9 +1046,22 @@ static size_t format_commit_item(struct strbuf *sb, const char *placeholder,
 		placeholder++;
 	}
 
+	if (isdigit(placeholder[0])) {
+		char *end;
+		max_len = strtoul(placeholder, &end, 10);
+		magic_len += (end - placeholder);
+		placeholder = end;
+	}
+
 	orig_len = sb->len;
 	consumed = format_commit_one(sb, placeholder, context);
 
+	if (max_len) {
+		size_t end = orig_len + max_len;
+		if (end < sb->len)
+			strbuf_setlen(sb, end);
+	}
+
 	if ((orig_len == sb->len) && magic == DEL_LF_BEFORE_EMPTY) {
 		while (sb->len && sb->buf[sb->len - 1] == '\n')
 			strbuf_setlen(sb, sb->len - 1);
-- 
1.7.8.1.3.gba11d
Previous: Jeff KingNext: Andreas Schwab
Message 12 of 15 in “Specify a precision for the length of a subject string”
  1. Specify a precision for the length of a subject stringNathan W. Panike, Dec 20, 2011
  2. Thomas RastDec 20, 2011
  3. Nathan PanikeDec 20, 2011
  4. Jeff KingDec 21, 2011
  5. Nathan PanikeDec 21, 2011
  6. Jeff KingDec 23, 2011
  7. Jeff KingDec 23, 2011
  8. Junio C HamanoDec 23, 2011
  9. Jeff KingDec 23, 2011
  10. Jeff KingDec 23, 2011
  11. 1/2 pretty: refactor --format "magic" placeholdersJeff King, Dec 23, 2011
  12. 2/2 pretty: allow "max-size" magic for all placeholdersJeff King, Dec 23, 2011
  13. Andreas SchwabDec 21, 2011
  14. Nathan PanikeDec 21, 2011
  15. Miles BaderDec 23, 2011

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.