Fix pack-index issue on 64-bit platforms a bit more portably.
Apparently <stdint.h> is not enough for uint32_t on OpenBSD; use "unsigned int" -- hopefully that would stay 32-bit on every platform we care about, at least until we update the pack-index file format. Our sha1 routines optimized for architectures use uint32_t and expects '#include <stdint.h>' to be enough, so OpenBSD on arm or ppc might have similar issues down the road, I dunno. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
@ -13,7 +13,6 @@
|
||||
#include "commit.h"
|
||||
#include "tag.h"
|
||||
#include "tree.h"
|
||||
#include <stdint.h>
|
||||
|
||||
#ifndef O_NOATIME
|
||||
#if defined(__linux__) && (defined(__i386__) || defined(__PPC__))
|
||||
@ -1127,7 +1126,7 @@ int find_pack_entry_one(const unsigned char *sha1,
|
||||
int mi = (lo + hi) / 2;
|
||||
int cmp = memcmp(index + 24 * mi + 4, sha1, 20);
|
||||
if (!cmp) {
|
||||
e->offset = ntohl(*((uint32_t *)(index + 24 * mi)));
|
||||
e->offset = ntohl(*((unsigned int *)(index + 24 * mi)));
|
||||
memcpy(e->sha1, sha1, 20);
|
||||
e->p = p;
|
||||
return 1;
|
||||
|
||||
Reference in New Issue
Block a user