packfile: drop nth_packed_object_sha1()
Once upon a time, nth_packed_object_sha1() was the primary way to get the oid of a packfile's index position. But these days we have the more type-safe nth_packed_object_id() wrapper, and all callers have been converted. Let's drop the "sha1" version (turning the safer wrapper into a single function) so that nobody is tempted to introduce new callers. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
6ac9760a30
commit
2fecc48cad
21
packfile.c
21
packfile.c
|
@ -1867,35 +1867,26 @@ int bsearch_pack(const struct object_id *oid, const struct packed_git *p, uint32
|
||||||
index_lookup, index_lookup_width, result);
|
index_lookup, index_lookup_width, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
const unsigned char *nth_packed_object_sha1(struct packed_git *p,
|
int nth_packed_object_id(struct object_id *oid,
|
||||||
|
struct packed_git *p,
|
||||||
uint32_t n)
|
uint32_t n)
|
||||||
{
|
{
|
||||||
const unsigned char *index = p->index_data;
|
const unsigned char *index = p->index_data;
|
||||||
const unsigned int hashsz = the_hash_algo->rawsz;
|
const unsigned int hashsz = the_hash_algo->rawsz;
|
||||||
if (!index) {
|
if (!index) {
|
||||||
if (open_pack_index(p))
|
if (open_pack_index(p))
|
||||||
return NULL;
|
return -1;
|
||||||
index = p->index_data;
|
index = p->index_data;
|
||||||
}
|
}
|
||||||
if (n >= p->num_objects)
|
if (n >= p->num_objects)
|
||||||
return NULL;
|
return -1;
|
||||||
index += 4 * 256;
|
index += 4 * 256;
|
||||||
if (p->index_version == 1) {
|
if (p->index_version == 1) {
|
||||||
return index + (hashsz + 4) * n + 4;
|
oidread(oid, index + (hashsz + 4) * n + 4);
|
||||||
} else {
|
} else {
|
||||||
index += 8;
|
index += 8;
|
||||||
return index + hashsz * n;
|
oidread(oid, index + hashsz * n);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
int nth_packed_object_id(struct object_id *oid,
|
|
||||||
struct packed_git *p,
|
|
||||||
uint32_t n)
|
|
||||||
{
|
|
||||||
const unsigned char *hash = nth_packed_object_sha1(p, n);
|
|
||||||
if (!hash)
|
|
||||||
return -1;
|
|
||||||
hashcpy(oid->hash, hash);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
12
packfile.h
12
packfile.h
|
@ -121,15 +121,9 @@ void check_pack_index_ptr(const struct packed_git *p, const void *ptr);
|
||||||
int bsearch_pack(const struct object_id *oid, const struct packed_git *p, uint32_t *result);
|
int bsearch_pack(const struct object_id *oid, const struct packed_git *p, uint32_t *result);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return the SHA-1 of the nth object within the specified packfile.
|
* Write the oid of the nth object within the specified packfile into the first
|
||||||
* Open the index if it is not already open. The return value points
|
* parameter. Open the index if it is not already open. Returns 0 on success,
|
||||||
* at the SHA-1 within the mmapped index. Return NULL if there is an
|
* negative otherwise.
|
||||||
* error.
|
|
||||||
*/
|
|
||||||
const unsigned char *nth_packed_object_sha1(struct packed_git *, uint32_t n);
|
|
||||||
/*
|
|
||||||
* Like nth_packed_object_sha1, but write the data into the object specified by
|
|
||||||
* the the first argument. Returns 0 on success, negative otherwise.
|
|
||||||
*/
|
*/
|
||||||
int nth_packed_object_id(struct object_id *, struct packed_git *, uint32_t n);
|
int nth_packed_object_id(struct object_id *, struct packed_git *, uint32_t n);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue