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

[PATCH 08/12] get_oid_hex_segment(): return 0 on success

From
Michael Haggerty <mhagger@alum.mit.edu>
Date
Aug 26, 2017, 08:28 UTC
Message-ID
<1a421226c8f7cb3cb7609cb4bd06ed009430a543.1503734566.git.mhagger@alum.mit.edu>
In-Reply-To
<cover.1503734566.git.mhagger@alum.mit.edu>

Nobody cares about the return value of get_oid_hex_segment() except to check whether it failed. So just return 0 on success.

And while we're updating its docstring, update it for some argument renaming that happened a while ago.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
---
 notes.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/notes.c b/notes.c
index 46ab15b83a..6ce71bfedb 100644
--- a/notes.c
+++ b/notes.c
@@ -338,11 +338,10 @@ static void note_tree_free(struct int_node *tree)
  * Convert a partial SHA1 hex string to the corresponding partial SHA1 value.
  * - hex      - Partial SHA1 segment in ASCII hex format
  * - hex_len  - Length of above segment. Must be multiple of 2 between 0 and 40
- * - sha1     - Partial SHA1 value is written here
- * - sha1_len - Max #bytes to store in sha1, Must be >= hex_len / 2, and < 20
- * Returns -1 on error (invalid arguments or invalid SHA1 (not in hex format)).
- * Otherwise, returns number of bytes written to sha1 (i.e. hex_len / 2).
- * Pads sha1 with NULs up to sha1_len (not included in returned length).
+ * - oid      - Partial SHA1 value is written here
+ * - oid_len  - Max #bytes to store in sha1, Must be >= hex_len / 2, and < 20
+ * Return 0 on success or -1 on error (invalid arguments or input not
+ * in hex format). Pad oid with NULs up to oid_len.
  */
 static int get_oid_hex_segment(const char *hex, unsigned int hex_len,
 		unsigned char *oid, unsigned int oid_len)
@@ -359,7 +358,7 @@ static int get_oid_hex_segment(const char *hex, unsigned int hex_len,
 	}
 	for (; i < oid_len; i++)
 		*oid++ = 0;
-	return len;
+	return 0;
 }
 
 static int non_note_cmp(const struct non_note *a, const struct non_note *b)
@@ -444,7 +443,7 @@ static void load_subtree(struct notes_tree *t, struct leaf_node *subtree,
 
 			if (get_oid_hex_segment(entry.path, path_len,
 						object_oid.hash + prefix_len,
-						GIT_SHA1_RAWSZ - prefix_len) < 0)
+						GIT_SHA1_RAWSZ - prefix_len))
 				goto handle_non_note; /* entry.path is not a SHA1 */
 
 			type = PTR_TYPE_NOTE;
@@ -461,7 +460,7 @@ static void load_subtree(struct notes_tree *t, struct leaf_node *subtree,
 
 			if (get_oid_hex_segment(entry.path, 2,
 						object_oid.hash + prefix_len,
-						GIT_SHA1_RAWSZ - prefix_len) < 0)
+						GIT_SHA1_RAWSZ - prefix_len))
 				goto handle_non_note; /* entry.path is not a SHA1 */
 
 			type = PTR_TYPE_SUBTREE;
-- 
2.11.0
Previous: Michael HaggertyNext: Michael Haggerty
Message 6 of 23 in “Clean up notes-related code around `load_subtree()`”
  1. 00/12 Clean up notes-related code around `load_subtree()`Michael Haggerty, Aug 26, 2017
  2. 01/12 notes: make GET_NIBBLE macro more robustMichael Haggerty, Aug 26, 2017
  3. 03/12 load_subtree(): reduce the scope of some local variablesMichael Haggerty, Aug 26, 2017
  4. 04/12 load_subtree(): fix incorrect commentMichael Haggerty, Aug 26, 2017
  5. 06/12 load_subtree(): check earlier whether an internal node is a tree entryMichael Haggerty, Aug 26, 2017
  6. 08/12 get_oid_hex_segment(): return 0 on successMichael Haggerty, Aug 26, 2017
  7. 10/12 get_oid_hex_segment(): don't pad the rest of `oid`Michael Haggerty, Aug 26, 2017
  8. 11/12 hex_to_bytes(): simpler replacement for `get_oid_hex_segment()`Michael Haggerty, Aug 26, 2017
  9. 12/12 load_subtree(): declare some variables to be `size_t`Michael Haggerty, Aug 26, 2017
  10. 07/12 load_subtree(): only consider blobs to be potential notesMichael Haggerty, Aug 26, 2017
  11. 05/12 load_subtree(): separate logic for internal vs. terminal entriesMichael Haggerty, Aug 26, 2017
  12. 09/12 load_subtree(): combine some common codeMichael Haggerty, Aug 26, 2017
  13. 02/12 load_subtree(): remove unnecessary conditionalMichael Haggerty, Aug 26, 2017
  14. Junio C HamanoAug 26, 2017
  15. Michael HaggertyAug 27, 2017
  16. Michael HaggertyAug 28, 2017
  17. Junio C HamanoSep 1, 2017
  18. Johan HerlandAug 26, 2017
  19. Jeff KingSep 9, 2017
  20. Michael HaggertySep 10, 2017
  21. Jeff KingSep 10, 2017
  22. Michael HaggertySep 12, 2017
  23. Lars SchneiderSep 12, 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.