summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorschu <schu-github@schulog.org>2011-06-09 18:11:11 +0200
committerschu <schu-github@schulog.org>2011-07-06 12:25:27 +0200
commite190da78f373511ca999d32f66115bbc75705abf (patch)
tree8cb062aef265f7d36c2d854e2a89e97268d2484f /src
parenta6e0f315f5f82babd669d93705059c24a6772084 (diff)
downloadlibgit2-e190da78f373511ca999d32f66115bbc75705abf.tar.gz
fileops: add convenience function is_dot_or_dotdot()
Signed-off-by: schu <schu-github@schulog.org>
Diffstat (limited to 'src')
-rw-r--r--src/fileops.c9
-rw-r--r--src/fileops.h8
2 files changed, 10 insertions, 7 deletions
diff --git a/src/fileops.c b/src/fileops.c
index 52aeb41a3..edde3aa46 100644
--- a/src/fileops.c
+++ b/src/fileops.c
@@ -231,13 +231,8 @@ int git_futils_direach(
size_t de_len;
int result;
- /* always skip '.' and '..' */
- if (de->d_name[0] == '.') {
- if (de->d_name[1] == '\0')
- continue;
- if (de->d_name[1] == '.' && de->d_name[2] == '\0')
- continue;
- }
+ if (is_dot_or_dotdot(de->d_name))
+ continue;
de_len = strlen(de->d_name);
if (path_sz < wd_len + de_len + 1) {
diff --git a/src/fileops.h b/src/fileops.h
index 4bfebe9d4..cc88682ac 100644
--- a/src/fileops.h
+++ b/src/fileops.h
@@ -102,6 +102,14 @@ extern int git_futils_mv_withpath(const char *from, const char *to);
*/
extern git_off_t git_futils_filesize(git_file fd);
+/* Taken from git.git */
+static inline int is_dot_or_dotdot(const char *name)
+{
+ return (name[0] == '.' &&
+ (name[1] == '\0' ||
+ (name[1] == '.' && name[2] == '\0')));
+}
+
/**
* Read-only map all or part of a file into memory.
* When possible this function should favor a virtual memory