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

[PATCH v3 37/53] ref-filter: convert some static functions to struct object_id

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
May 6, 2017, 22:10 UTC
Message-ID
<20170506221038.296722-38-sandals@crustytoothpaste.net>
In-Reply-To
<20170506221038.296722-1-sandals@crustytoothpaste.net>

Among the converted functions is a caller of parse_object_buffer, which we will convert later.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
---
 ref-filter.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/ref-filter.c b/ref-filter.c
index 77aee273f..56fc990a5 100644
--- a/ref-filter.c
+++ b/ref-filter.c
@@ -677,13 +677,13 @@ int verify_ref_format(const char *format)
  * by the "struct object" representation, set *eaten as well---it is a
  * signal from parse_object_buffer to us not to free the buffer.
  */
-static void *get_obj(const unsigned char *sha1, struct object **obj, unsigned long *sz, int *eaten)
+static void *get_obj(const struct object_id *oid, struct object **obj, unsigned long *sz, int *eaten)
 {
 	enum object_type type;
-	void *buf = read_sha1_file(sha1, &type, sz);
+	void *buf = read_sha1_file(oid->hash, &type, sz);
 
 	if (buf)
-		*obj = parse_object_buffer(sha1, type, *sz, buf, eaten);
+		*obj = parse_object_buffer(oid->hash, type, *sz, buf, eaten);
 	else
 		*obj = NULL;
 	return buf;
@@ -1293,7 +1293,7 @@ static void populate_value(struct ref_array_item *ref)
 	struct object *obj;
 	int eaten, i;
 	unsigned long size;
-	const unsigned char *tagged;
+	const struct object_id *tagged;
 
 	ref->value = xcalloc(used_atom_cnt, sizeof(struct atom_value));
 
@@ -1370,10 +1370,10 @@ static void populate_value(struct ref_array_item *ref)
 			continue;
 		} else if (!strcmp(name, "HEAD")) {
 			const char *head;
-			unsigned char sha1[20];
+			struct object_id oid;
 
 			head = resolve_ref_unsafe("HEAD", RESOLVE_REF_READING,
-						  sha1, NULL);
+						  oid.hash, NULL);
 			if (head && !strcmp(ref->refname, head))
 				v->s = "*";
 			else
@@ -1415,7 +1415,7 @@ static void populate_value(struct ref_array_item *ref)
 	return;
 
  need_obj:
-	buf = get_obj(ref->objectname.hash, &obj, &size, &eaten);
+	buf = get_obj(&ref->objectname, &obj, &size, &eaten);
 	if (!buf)
 		die(_("missing object %s for %s"),
 		    oid_to_hex(&ref->objectname), ref->refname);
@@ -1438,7 +1438,7 @@ static void populate_value(struct ref_array_item *ref)
 	 * If it is a tag object, see if we use a value that derefs
 	 * the object, and if we do grab the object it refers to.
 	 */
-	tagged = ((struct tag *)obj)->tagged->oid.hash;
+	tagged = &((struct tag *)obj)->tagged->oid;
 
 	/*
 	 * NEEDSWORK: This derefs tag only once, which
@@ -1449,10 +1449,10 @@ static void populate_value(struct ref_array_item *ref)
 	buf = get_obj(tagged, &obj, &size, &eaten);
 	if (!buf)
 		die(_("missing object %s for %s"),
-		    sha1_to_hex(tagged), ref->refname);
+		    oid_to_hex(tagged), ref->refname);
 	if (!obj)
 		die(_("parse_object_buffer failed on %s for %s"),
-		    sha1_to_hex(tagged), ref->refname);
+		    oid_to_hex(tagged), ref->refname);
 	grab_values(ref->value, 1, obj, buf, size);
 	if (!eaten)
 		free(buf);
Previous: brian m. carlsonNext: brian m. carlson
Message 38 of 56 in “object_id part 8”
  1. 00/53 object_id part 8brian m. carlson, May 6, 2017
  2. 02/53 Clean up outstanding object_id transforms.brian m. carlson, May 6, 2017
  3. 01/53 fetch-pack: convert to struct object_idbrian m. carlson, May 6, 2017
  4. 03/53 Convert struct cache_tree to use struct object_idbrian m. carlson, May 6, 2017
  5. 04/53 builtin/name-rev: convert to struct object_idbrian m. carlson, May 6, 2017
  6. 05/53 builtin/prune: convert to struct object_idbrian m. carlson, May 6, 2017
  7. 07/53 branch: convert to struct object_idbrian m. carlson, May 6, 2017
  8. 06/53 bundle: convert to struct object_idbrian m. carlson, May 6, 2017
  9. 08/53 builtin/blame: convert static function to struct object_idbrian m. carlson, May 6, 2017
  10. 09/53 builtin/rev-parse: convert to struct object_idbrian m. carlson, May 6, 2017
  11. 10/53 fast-import: convert internal structs to struct object_idbrian m. carlson, May 6, 2017
  12. 12/53 submodule: convert merge_submodule to use struct object_idbrian m. carlson, May 6, 2017
  13. 11/53 fast-import: convert to struct object_idbrian m. carlson, May 6, 2017
  14. 13/53 notes-cache: convert to struct object_idbrian m. carlson, May 6, 2017
  15. 14/53 parse-options-cb: convert to struct object_idbrian m. carlson, May 6, 2017
  16. 15/53 reflog_expire: convert to struct object_idbrian m. carlson, May 6, 2017
  17. 16/53 builtin/verify-commit: convert to struct object_idbrian m. carlson, May 6, 2017
  18. 17/53 tag: convert parse_tag_buffer to struct object_idbrian m. carlson, May 6, 2017
  19. 18/53 http-push: convert some static functions to struct object_idbrian m. carlson, May 6, 2017
  20. 19/53 notes-utils: convert internals to struct object_idbrian m. carlson, May 6, 2017
  21. 22/53 sequencer: convert some functions to struct object_idbrian m. carlson, May 6, 2017
  22. 20/53 revision: convert prepare_show_merge to struct object_idbrian m. carlson, May 6, 2017
  23. 23/53 builtin/tag: convert to struct object_idbrian m. carlson, May 6, 2017
  24. 24/53 Convert remaining callers of lookup_commit_reference* to object_idbrian m. carlson, May 6, 2017
  25. 26/53 pack: convert struct pack_idx_entry to struct object_idbrian m. carlson, May 6, 2017
  26. 25/53 Convert lookup_commit* to struct object_idbrian m. carlson, May 6, 2017
  27. 27/53 builtin/unpack-objects: convert to struct object_idbrian m. carlson, May 6, 2017
  28. 28/53 Convert remaining callers of lookup_blob to object_idbrian m. carlson, May 6, 2017
  29. 21/53 shallow: convert shallow registration functions to object_idbrian m. carlson, May 6, 2017
  30. 31/53 builtin/reflog: convert tree_is_complete to take struct object_idbrian m. carlson, May 6, 2017
  31. 30/53 tree: convert read_tree_1 to use struct object_id internallybrian m. carlson, May 6, 2017
  32. 29/53 Convert lookup_blob to struct object_idbrian m. carlson, May 6, 2017
  33. 33/53 log-tree: convert to struct object_idbrian m. carlson, May 6, 2017
  34. 32/53 Convert lookup_tree to struct object_idbrian m. carlson, May 6, 2017
  35. 34/53 Convert lookup_tag to struct object_idbrian m. carlson, May 6, 2017
  36. 36/53 Convert struct ref_array_item to struct object_idbrian m. carlson, May 6, 2017
  37. 35/53 Convert the verify_pack callback to struct object_idbrian m. carlson, May 6, 2017
  38. 37/53 ref-filter: convert some static functions to struct object_idbrian m. carlson, May 6, 2017
  39. 38/53 refs: convert struct ref_update to use struct object_idbrian m. carlson, May 6, 2017
  40. 39/53 refs/files-backend: convert many internals to struct object_idbrian m. carlson, May 6, 2017
  41. 41/53 revision: rename add_pending_sha1 to add_pending_oidbrian m. carlson, May 6, 2017
  42. 42/53 revision: convert remaining parse_object callers to object_idbrian m. carlson, May 6, 2017
  43. 40/53 http-push: convert process_ls_object and descendants to object_idbrian m. carlson, May 6, 2017
  44. 43/53 upload-pack: convert remaining parse_object callers to object_idbrian m. carlson, May 6, 2017
  45. 44/53 sha1_name: convert internals of peel_onion to object_idbrian m. carlson, May 6, 2017
  46. 45/53 builtin/read-tree: convert to struct object_idbrian m. carlson, May 6, 2017
  47. 47/53 sequencer: convert fast_forward_to to struct object_idbrian m. carlson, May 6, 2017
  48. 48/53 merge: convert checkout_fast_forward to struct object_idbrian m. carlson, May 6, 2017
  49. 49/53 builtin/ls-tree: convert to struct object_idbrian m. carlson, May 6, 2017
  50. 51/53 sequencer: convert do_recursive_merge to struct object_idbrian m. carlson, May 6, 2017
  51. 52/53 tree: convert parse_tree_indirect to struct object_idbrian m. carlson, May 6, 2017
  52. 46/53 builtin/ls-files: convert overlay_tree_on_cache to object_idbrian m. carlson, May 6, 2017
  53. 50/53 diff-lib: convert do_diff_cache to struct object_idbrian m. carlson, May 6, 2017
  54. 53/53 object: convert parse_object* to take struct object_idbrian m. carlson, May 6, 2017
  55. Jonathan TanMay 8, 2017
  56. Brandon WilliamsMay 9, 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.