summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cache.h1
-rw-r--r--path.c7
-rw-r--r--sha1_file.c7
3 files changed, 8 insertions, 7 deletions
diff --git a/cache.h b/cache.h
index 04ae824..caf4192 100644
--- a/cache.h
+++ b/cache.h
@@ -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 *);
diff --git a/path.c b/path.c
index 79aa104..06fd9e0 100644
--- a/path.c
+++ b/path.c
@@ -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 23d347c..923d9d1 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);