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

[PATCH v2 09/11] sha1_name: don't waste cycles in the @-parsing loop

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
May 7, 2013, 21:55 UTC
Message-ID
<1367963711-8722-10-git-send-email-felipe.contreras@gmail.com>
In-Reply-To
<1367963711-8722-1-git-send-email-felipe.contreras@gmail.com>
From: Ramkumar Ramachandra <artagnon@gmail.com>

The @-parsing loop unnecessarily checks for the sequence "@{" from len - 2 unnecessarily. We can safely check from len - 4.

[fc: remove cruft]
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 sha1_name.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sha1_name.c b/sha1_name.c
index 93c4e8c..0acc6e0 100644
--- a/sha1_name.c
+++ b/sha1_name.c
@@ -445,7 +445,7 @@ static int get_sha1_basic(const char *str, int len, unsigned char *sha1)
 	/* basic@{time or number or -number} format to query ref-log */
 	reflog_len = at = 0;
 	if (len && str[len-1] == '}') {
-		for (at = len-2; at >= 0; at--) {
+		for (at = len-4; at >= 0; at--) {
 			if (str[at] == '@' && str[at+1] == '{') {
 				if (!upstream_mark(str + at, len - at)) {
 					reflog_len = (len-1) - (at+2);
-- 
1.8.3.rc0.401.g45bba44
Previous: Felipe ContrerasNext: Felipe Contreras
Message 14 of 26 in “sha1_name: improvements”
  1. 00/11 sha1_name: improvementsFelipe Contreras, May 7, 2013
  2. 01/11 tests: at-combinations: simplify setupFelipe Contreras, May 7, 2013
  3. 02/11 tests: at-combinations: check ref names directlyFelipe Contreras, May 7, 2013
  4. Junio C HamanoMay 8, 2013
  5. Felipe ContrerasMay 8, 2013
  6. 03/11 tests: at-combinations: improve nonsense()Felipe Contreras, May 7, 2013
  7. Junio C HamanoMay 8, 2013
  8. Felipe ContrerasMay 8, 2013
  9. 04/11 tests: at-combinations: increase coverageFelipe Contreras, May 7, 2013
  10. 05/11 tests: at-combinations: @{N} versus HEAD@{N}Felipe Contreras, May 7, 2013
  11. 06/11 sha1_name: remove no-opFelipe Contreras, May 7, 2013
  12. 07/11 sha1_name: remove unnecessary bracesFelipe Contreras, May 7, 2013
  13. 08/11 sha1_name: avoid Yoda conditionsFelipe Contreras, May 7, 2013
  14. 09/11 sha1_name: don't waste cycles in the @-parsing loopFelipe Contreras, May 7, 2013
  15. 10/11 sha1_name: reorganize get_sha1_basic()Felipe Contreras, May 7, 2013
  16. Ramkumar RamachandraMay 8, 2013
  17. Felipe ContrerasMay 8, 2013
  18. Junio C HamanoMay 8, 2013
  19. Junio C HamanoMay 8, 2013
  20. Felipe ContrerasMay 8, 2013
  21. Junio C HamanoMay 8, 2013
  22. Felipe ContrerasMay 8, 2013
  23. 11/11 sha1_name: check @{-N} errors soonerFelipe Contreras, May 7, 2013
  24. Felipe ContrerasMay 7, 2013
  25. Junio C HamanoMay 8, 2013
  26. Ramkumar RamachandraMay 8, 2013

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.