summaryrefslogtreecommitdiff
path: root/src/clone.c
diff options
context:
space:
mode:
authorBen Straub <bstraub@github.com>2012-07-11 10:40:53 -0700
committerBen Straub <bstraub@github.com>2012-07-11 10:40:53 -0700
commitd024419f165e81f59d919bd56d84abf8e9fb9f57 (patch)
tree93c6fe213a8249c8308a3ee607da6af769125d55 /src/clone.c
parentc3b5099fe46e1191784cc1890cd35f167305f47a (diff)
downloadlibgit2-d024419f165e81f59d919bd56d84abf8e9fb9f57.tar.gz
Add git_path_is_empty_dir.
Diffstat (limited to 'src/clone.c')
-rw-r--r--src/clone.c44
1 files changed, 2 insertions, 42 deletions
diff --git a/src/clone.c b/src/clone.c
index 3f161c810..803338ebb 100644
--- a/src/clone.c
+++ b/src/clone.c
@@ -195,54 +195,14 @@ static int setup_remotes_and_fetch(git_repository *repo,
/* TODO: p_opendir, p_closedir */
static bool path_is_okay(const char *path)
{
-#ifdef GIT_WIN32
- HANDLE hFind = INVALID_HANDLE_VALUE;
- wchar_t *wbuf;
- WIN32_FIND_DATAW ffd;
-#else
- DIR *dir = NULL;
- struct dirent *e;
-#endif
-
- bool retval = true;
-
/* The path must either not exist, or be an empty directory */
if (!git_path_exists(path)) return true;
-
- if (!git_path_isdir(path)) {
+ if (!git_path_is_empty_dir(path)) {
giterr_set(GITERR_INVALID,
"'%s' exists and is not an empty directory", path);
return false;
}
-
-#ifdef GIT_WIN32
- wbuf = gitwin_to_utf16(path);
- gitwin_append_utf16(wbuf, "\\*", 2);
- hFind = FindFirstFileW(wbuf, &ffd);
- if (INVALID_HANDLE_VALUE != hFind) {
- retval = false;
- FindClose(hFind);
- }
- git__free(wbuf);
-#else
- dir = opendir(path);
- if (!dir) {
- giterr_set(GITERR_OS, "Couldn't open '%s'", path);
- return false;
- }
-
- while ((e = readdir(dir)) != NULL) {
- if (!git_path_is_dot_or_dotdot(e->d_name)) {
- giterr_set(GITERR_INVALID,
- "'%s' exists and is not an empty directory", path);
- retval = false;
- break;
- }
- }
- closedir(dir);
-#endif
-
- return retval;
+ return true;
}