hex: label usages of hex parsing for object IDs

In preparation for a future change, label the hex parsing we're doing
for object IDs by defining a constant called HEX_KIND_OID.  This is
currently the same as HEX_KIND_MIXED, so there is no functional change
here.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
brian m. carlson
2026-07-29 23:32:13 +00:00
committed by Junio C Hamano
parent 8a790e4e88
commit 5f2685d256
6 changed files with 8 additions and 6 deletions

View File

@@ -112,7 +112,7 @@ static void loose_objs_stats(struct strbuf *buf, const char *path)
while ((e = readdir_skip_dot_and_dotdot(dir)) != NULL)
if (get_dtype(e, &count_path, 0) == DT_DIR &&
strlen(e->d_name) == 2 &&
!hex_to_bytes(&c, e->d_name, 1, HEX_KIND_MIXED)) {
!hex_to_bytes(&c, e->d_name, 1, HEX_KIND_OID)) {
strbuf_setlen(&count_path, base_path_len);
strbuf_addf(&count_path, "%s/", e->d_name);
total += (count = count_files(&count_path));

View File

@@ -6,6 +6,8 @@ enum hexkind {
HEX_KIND_LOWER = 1,
};
#define HEX_KIND_OID HEX_KIND_MIXED
extern const signed char hexval_table[256];
extern const signed char hexval_lc_table[256];
static inline unsigned int hexval(unsigned char c, enum hexkind kind)

2
hex.c
View File

@@ -9,7 +9,7 @@ static int get_hash_hex_algop(const char *hex, unsigned char *hash,
const struct git_hash_algo *algop)
{
for (size_t i = 0; i < algop->rawsz; i++) {
int val = hex2chr(hex, HEX_KIND_MIXED);
int val = hex2chr(hex, HEX_KIND_OID);
if (val < 0)
return -1;
*hash++ = val;

View File

@@ -1030,13 +1030,13 @@ static int get_oid_hex_from_objpath(const char *path, struct object_id *oid)
if (strlen(path) != the_hash_algo->hexsz + 1)
return -1;
if (hex_to_bytes(oid->hash, path, 1, HEX_KIND_MIXED))
if (hex_to_bytes(oid->hash, path, 1, HEX_KIND_OID))
return -1;
path += 2;
path++; /* skip '/' */
return hex_to_bytes(oid->hash + 1, path, the_hash_algo->rawsz - 1,
HEX_KIND_MIXED);
HEX_KIND_OID);
}
static void process_ls_object(struct remote_ls_ctx *ls)

View File

@@ -443,7 +443,7 @@ static void load_subtree(struct notes_tree *t, struct leaf_node *subtree,
goto handle_non_note;
if (hex_to_bytes(object_oid.hash + len++, entry.path, 1,
HEX_KIND_MIXED))
HEX_KIND_OID))
goto handle_non_note; /* entry.path is not a SHA1 */
/*

View File

@@ -1073,7 +1073,7 @@ int for_each_file_in_obj_subdir(unsigned int subdir_nr,
strbuf_add(path, de->d_name, namelen);
if (namelen == algop->hexsz - 2 &&
!hex_to_bytes(oid.hash + 1, de->d_name,
algop->rawsz - 1, HEX_KIND_MIXED)) {
algop->rawsz - 1, HEX_KIND_OID)) {
oid_set_algo(&oid, algop);
memset(oid.hash + algop->rawsz, 0,
GIT_MAX_RAWSZ - algop->rawsz);