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

[PATCH v2 04/11] resolve_ref_unsafe(): use skip_prefix() to skip over "ref:"

From
Michael Haggerty <mhagger@alum.mit.edu>
Date
Oct 15, 2014, 15:06 UTC
Message-ID
<1413385583-4872-5-git-send-email-mhagger@alum.mit.edu>
In-Reply-To
<1413385583-4872-1-git-send-email-mhagger@alum.mit.edu>
From: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>

This requires buf to be declared (const char *), which is how it is used anyway.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
---
 refs.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/refs.c b/refs.c
index 771941b..020ee3f 100644
--- a/refs.c
+++ b/refs.c
@@ -1416,7 +1416,7 @@ const char *resolve_ref_unsafe(const char *refname, unsigned char *sha1, int rea
 	for (;;) {
 		char path[PATH_MAX];
 		struct stat st;
-		char *buf;
+		const char *buf;
 		int fd;
 
 		if (--depth < 0) {
@@ -1497,11 +1497,10 @@ const char *resolve_ref_unsafe(const char *refname, unsigned char *sha1, int rea
 			len--;
 		buffer[len] = '\0';
 
-		if (starts_with(buffer, "ref:")) {
+		if (skip_prefix(buffer, "ref:", &buf)) {
 			/* It is a symbolic ref */
 			if (flag)
 				*flag |= REF_ISSYMREF;
-			buf = buffer + 4;
 			while (isspace(*buf))
 				buf++;
 			if (check_refname_format(buf, REFNAME_ALLOW_ONELEVEL)) {
-- 
2.1.1
Previous: Michael HaggertyNext: Michael Haggerty
Message 5 of 16 in “Consolidate ref parsing code”
  1. 00/11 Consolidate ref parsing codeMichael Haggerty, Oct 15, 2014
  2. 01/11 strbuf_read_file(): preserve errno on failureMichael Haggerty, Oct 15, 2014
  3. 02/11 handle_missing_loose_ref(): return an intMichael Haggerty, Oct 15, 2014
  4. 03/11 resolve_ref_unsafe(): reverse the logic of the symref conditionalMichael Haggerty, Oct 15, 2014
  5. 04/11 resolve_ref_unsafe(): use skip_prefix() to skip over "ref:"Michael Haggerty, Oct 15, 2014
  6. 05/11 refs.c: refactor resolve_ref_unsafe() to use strbuf internallyMichael Haggerty, Oct 15, 2014
  7. 06/11 refs.c: move ref parsing code out of resolve_ref()Michael Haggerty, Oct 15, 2014
  8. 07/11 handle_missing_loose_ref(): inline functionMichael Haggerty, Oct 15, 2014
  9. 08/11 resolve_gitlink_ref_recursive(): drop arbitrary refname length limitMichael Haggerty, Oct 15, 2014
  10. 09/11 refs.c: rewrite resolve_gitlink_ref() to use parse_ref()Michael Haggerty, Oct 15, 2014
  11. 10/11 resove_gitlink_packed_ref(): inline functionMichael Haggerty, Oct 15, 2014
  12. 11/11 resolve_gitlink_ref(): remove redundant testMichael Haggerty, Oct 15, 2014
  13. Junio C HamanoOct 16, 2014
  14. Junio C HamanoOct 16, 2014
  15. Michael HaggertyOct 16, 2014
  16. Duy NguyenOct 16, 2014

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.