Code

Fix rev-list when showing objects involving submodules
[git.git] / tree-walk.h
index ee747aba0bec914bd8f5c7a5285c8395ba5f489b..903a7b0f483fec5cbb6c6b372ab49cc28b655e75 100644 (file)
@@ -7,6 +7,13 @@ struct name_entry {
        unsigned int mode;
 };
 
+static inline enum object_type object_type(unsigned int mode)
+{
+       return S_ISDIR(mode) ? OBJ_TREE :
+               S_ISGITLINK(mode) ? OBJ_COMMIT :
+               OBJ_BLOB;
+}
+
 struct tree_desc {
        const void *buffer;
        struct name_entry entry;
@@ -22,7 +29,7 @@ static inline const unsigned char *tree_entry_extract(struct tree_desc *desc, co
 
 static inline int tree_entry_len(const char *name, const unsigned char *sha1)
 {
-       return (char *)sha1 - (char *)name - 1;
+       return (const char *)sha1 - name - 1;
 }
 
 void update_tree_entry(struct tree_desc *);