@@ -3,7 +3,6 @@
* data.
*/
#include "git-compat-util.h"
-#include "hashmap.h"
#include "object.h"
#include "decorate.h"
@@ -1,6 +1,7 @@
#ifndef DIR_H
#define DIR_H
+#include "hash-ll.h"
#include "hashmap.h"
#include "pathspec.h"
#include "statinfo.h"
@@ -270,6 +270,25 @@ static inline void oid_set_algo(struct object_id *oid, const struct git_hash_alg
oid->algo = hash_algo_by_ptr(algop);
}
+/*
+ * Converts a cryptographic hash (e.g. SHA-1) into an int-sized hash code
+ * for use in hash tables. Cryptographic hashes are supposed to have
+ * uniform distribution, so in contrast to `memhash()`, this just copies
+ * the first `sizeof(int)` bytes without shuffling any bits. Note that
+ * the results will be different on big-endian and little-endian
+ * platforms, so they should not be stored or transferred over the net.
+ */
+static inline unsigned int oidhash(const struct object_id *oid)
+{
+ /*
+ * Equivalent to 'return *(unsigned int *)oid->hash;', but safe on
+ * platforms that don't support unaligned reads.
+ */
+ unsigned int hash;
+ memcpy(&hash, oid->hash, sizeof(hash));
+ return hash;
+}
+
const char *empty_tree_oid_hex(void);
const char *empty_blob_oid_hex(void);
@@ -1,8 +1,6 @@
#ifndef HASHMAP_H
#define HASHMAP_H
-#include "hash-ll.h"
-
/*
* Generic implementation of hash-based key-value mappings.
*
@@ -120,25 +118,6 @@ unsigned int memhash(const void *buf, size_t len);
unsigned int memihash(const void *buf, size_t len);
unsigned int memihash_cont(unsigned int hash_seed, const void *buf, size_t len);
-/*
- * Converts a cryptographic hash (e.g. SHA-1) into an int-sized hash code
- * for use in hash tables. Cryptographic hashes are supposed to have
- * uniform distribution, so in contrast to `memhash()`, this just copies
- * the first `sizeof(int)` bytes without shuffling any bits. Note that
- * the results will be different on big-endian and little-endian
- * platforms, so they should not be stored or transferred over the net.
- */
-static inline unsigned int oidhash(const struct object_id *oid)
-{
- /*
- * Equivalent to 'return *(unsigned int *)oid->hash;', but safe on
- * platforms that don't support unaligned reads.
- */
- unsigned int hash;
- memcpy(&hash, oid->hash, sizeof(hash));
- return hash;
-}
-
/*
* struct hashmap_entry is an opaque structure representing an entry in the
* hash table.
@@ -26,7 +26,6 @@
#ifndef __AC_KHASH_H
#define __AC_KHASH_H
-#include "hashmap.h"
#include "hash.h"
#define AC_VERSION_KHASH_H "0.2.8"
@@ -1,6 +1,7 @@
#ifndef REMOTE_H
#define REMOTE_H
+#include "hash-ll.h"
#include "hashmap.h"
#include "refspec.h"
@@ -1,6 +1,7 @@
#include "git-compat-util.h"
#include "repository.h"
#include "config.h"
+#include "hash-ll.h"
#include "pkt-line.h"
#include "version.h"
#include "ls-refs.h"