718
extern char *sha1_pack_index_name(const unsigned char *sha1);
719
720
extern const char *find_unique_abbrev(const unsigned char *sha1, int);
721
-extern const unsigned char null_sha1[20];
721
+extern const unsigned char null_sha1[GIT_SHA1_RAWSZ];
722
723
static inline int hashcmp(const unsigned char *sha1, const unsigned char *sha2)
724
{
725
int i;
726
727
- for (i = 0; i < 20; i++, sha1++, sha2++) {
727
+ for (i = 0; i < GIT_SHA1_RAWSZ; i++, sha1++, sha2++) {
728
if (*sha1 != *sha2)
729
return *sha1 - *sha2;
730
}
732
return 0;
733
}
734
735
+static inline int oidcmp(const struct object_id *oid1, const struct object_id *oid2)
736
+{
737
+ return hashcmp(oid1->hash, oid2->hash);
738
+}
739
+
740
static inline int is_null_sha1(const unsigned char *sha1)
741
{
742
return !hashcmp(sha1, null_sha1);
743
}
744
745
+static inline int is_null_oid(const struct object_id *oid)
746
+{
747
+ return !hashcmp(oid->hash, null_sha1);
748
+}
749
+
750
static inline void hashcpy(unsigned char *sha_dst, const unsigned char *sha_src)
751
{
742
- memcpy(sha_dst, sha_src, 20);
752
+ memcpy(sha_dst, sha_src, GIT_SHA1_RAWSZ);
753
+}
754
+
755
+static inline void oidcpy(struct object_id *dst, const struct object_id *src)
756
+{
757
+ hashcpy(dst->hash, src->hash);
758
}
759
+
760
static inline void hashclr(unsigned char *hash)
761
{
746
- memset(hash, 0, 20);
762
+ memset(hash, 0, GIT_SHA1_RAWSZ);
763
}
764
765
+static inline void oidclr(struct object_id *oid)
766
+{
767
+ hashclr(oid->hash);
768
+}
769
+
770
+
771
#define EMPTY_TREE_SHA1_HEX \
772
"4b825dc642cb6eb9a060e54bf8d69288fbee4904"
773
#define EMPTY_TREE_SHA1_BIN_LITERAL \
974
* null-terminated string.
975
*/
976
extern int get_sha1_hex(const char *hex, unsigned char *sha1);
977
+extern int get_oid_hex(const char *hex, struct object_id *sha1);
978
979
extern char *sha1_to_hex(const unsigned char *sha1); /* static buffer result! */
980
+extern char *oid_to_hex(const struct object_id *oid); /* same static buffer as sha1_to_hex */
981
extern int read_ref_full(const char *refname, int resolve_flags,
982
unsigned char *sha1, int *flags);
983
extern int read_ref(const char *refname, unsigned char *sha1);