diff options
author | Nicolas Pitre <nico@cam.org> | 2005-05-20 16:57:28 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-20 15:41:45 -0700 |
commit | 91d7b8afc2dc8bacde2012ad076cd8d0c4d36697 (patch) | |
tree | 52d6c623ba410127411bcc914b7c6cc4ba32f4f3 /mktag.c | |
parent | e99d59ff0bff349ef205cef1076e0354c8130680 (diff) | |
download | git-91d7b8afc2dc8bacde2012ad076cd8d0c4d36697.tar.gz |
[PATCH] delta read
This makes the core code aware of delta objects and undeltafy them as
needed. The convention is to use read_sha1_file() to have
undeltafication done automatically (most users do that already so this
is transparent).
If the delta object itself has to be accessed then it must be done
through map_sha1_file() and unpack_sha1_file().
In that context mktag.c has been switched to read_sha1_file() as there
is no reason to do the full map+unpack manually.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mktag.c')
-rw-r--r-- | mktag.c | 22 |
1 files changed, 8 insertions, 14 deletions
@@ -25,20 +25,14 @@ static int verify_object(unsigned char *sha1, const char *expected_type) { int ret = -1; - unsigned long mapsize; - void *map = map_sha1_file(sha1, &mapsize); - - if (map) { - char type[100]; - unsigned long size; - void *buffer = unpack_sha1_file(map, mapsize, type, &size); - - if (buffer) { - if (!strcmp(type, expected_type)) - ret = check_sha1_signature(sha1, buffer, size, type); - free(buffer); - } - munmap(map, mapsize); + char type[100]; + unsigned long size; + void *buffer = read_sha1_file(sha1, type, &size); + + if (buffer) { + if (!strcmp(type, expected_type)) + ret = check_sha1_signature(sha1, buffer, size, type); + free(buffer); } return ret; } |