Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
tag: convert parse_tag_buffer to struct object_id
author
brian m. carlson
<sandals@crustytoothpaste.net>
Sat, 6 May 2017 22:10:02 +0000
(22:10 +0000)
committer
Junio C Hamano
<gitster@pobox.com>
Mon, 8 May 2017 06:12:57 +0000
(15:12 +0900)
Specify some constants in terms of GIT_SHA1_HEXSZ, and convert a
get_sha1_hex into parse_oid_hex to avoid needing to specify additional
constants.
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
tag.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
eee886c
)
diff --git
a/tag.c
b/tag.c
index 243d1fdbbcb1424b0082e1c999920f6a50b32d68..625f5cd71eacf1248cd809fdfda95af13fc02985 100644
(file)
--- a/
tag.c
+++ b/
tag.c
@@
-116,7
+116,7
@@
static unsigned long parse_tag_date(const char *buf, const char *tail)
int parse_tag_buffer(struct tag *item, const void *data, unsigned long size)
{
int parse_tag_buffer(struct tag *item, const void *data, unsigned long size)
{
-
unsigned char sha1[20]
;
+
struct object_id oid
;
char type[20];
const char *bufptr = data;
const char *tail = bufptr + size;
char type[20];
const char *bufptr = data;
const char *tail = bufptr + size;
@@
-126,11
+126,10
@@
int parse_tag_buffer(struct tag *item, const void *data, unsigned long size)
return 0;
item->object.parsed = 1;
return 0;
item->object.parsed = 1;
- if (size <
6
4)
+ if (size <
GIT_SHA1_HEXSZ + 2
4)
return -1;
return -1;
- if (memcmp("object ", bufptr, 7) ||
get_sha1_hex(bufptr + 7, sha1) || bufptr[47]
!= '\n')
+ if (memcmp("object ", bufptr, 7) ||
parse_oid_hex(bufptr + 7, &oid, &bufptr) || *bufptr++
!= '\n')
return -1;
return -1;
- bufptr += 48; /* "object " + sha1 + "\n" */
if (!starts_with(bufptr, "type "))
return -1;
if (!starts_with(bufptr, "type "))
return -1;
@@
-143,13
+142,13
@@
int parse_tag_buffer(struct tag *item, const void *data, unsigned long size)
bufptr = nl + 1;
if (!strcmp(type, blob_type)) {
bufptr = nl + 1;
if (!strcmp(type, blob_type)) {
- item->tagged = &lookup_blob(
sha1
)->object;
+ item->tagged = &lookup_blob(
oid.hash
)->object;
} else if (!strcmp(type, tree_type)) {
} else if (!strcmp(type, tree_type)) {
- item->tagged = &lookup_tree(
sha1
)->object;
+ item->tagged = &lookup_tree(
oid.hash
)->object;
} else if (!strcmp(type, commit_type)) {
} else if (!strcmp(type, commit_type)) {
- item->tagged = &lookup_commit(
sha1
)->object;
+ item->tagged = &lookup_commit(
oid.hash
)->object;
} else if (!strcmp(type, tag_type)) {
} else if (!strcmp(type, tag_type)) {
- item->tagged = &lookup_tag(
sha1
)->object;
+ item->tagged = &lookup_tag(
oid.hash
)->object;
} else {
error("Unknown type %s", type);
item->tagged = NULL;
} else {
error("Unknown type %s", type);
item->tagged = NULL;