diff options
-rw-r--r-- | cache.h | 1 | ||||
-rw-r--r-- | path.c | 7 | ||||
-rw-r--r-- | sha1_file.c | 7 |
3 files changed, 8 insertions, 7 deletions
@@ -664,6 +664,7 @@ int normalize_path_copy(char *dst, const char *src); int longest_ancestor_length(const char *path, const char *prefix_list); char *strip_path_suffix(const char *path, const char *suffix); int daemon_avoid_alias(const char *path); +int offset_1st_component(const char *path); /* Read and unpack a sha1 file into memory, write memory to a sha1 file */ extern int sha1_object_info(const unsigned char *, unsigned long *); @@ -649,3 +649,10 @@ int daemon_avoid_alias(const char *p) } } } + +int offset_1st_component(const char *path) +{ + if (has_dos_drive_prefix(path)) + return 2 + is_dir_sep(path[2]); + return is_dir_sep(path[0]); +} diff --git a/sha1_file.c b/sha1_file.c index 23d347c45..923d9d1cd 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -83,13 +83,6 @@ int get_sha1_hex(const char *hex, unsigned char *sha1) return 0; } -static inline int offset_1st_component(const char *path) -{ - if (has_dos_drive_prefix(path)) - return 2 + (path[2] == '/'); - return *path == '/'; -} - int safe_create_leading_directories(char *path) { char *pos = path + offset_1st_component(path); |