summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>2010-02-16 12:22:08 +0700
committerJunio C Hamano <gitster@pobox.com>2010-02-16 08:54:34 -0800
commit4bb43de25977063187dedf054122985bc5a2660e (patch)
tree7e8f344d6ae53bdfd281ba32c12143bd7b07ac51
parentd06f15d9c0c2b072e5eebf87fa93ee9a899ed642 (diff)
downloadgit-4bb43de25977063187dedf054122985bc5a2660e.tar.gz
Move offset_1st_component() to path.c
The implementation is also lightly modified to use is_dir_sep() instead of hardcoding '/'. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-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 04ae824d64..caf4192b88 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 79aa104712..06fd9e0577 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 23d347c45f..923d9d1cd1 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);