Commit c3b5099f by Ben Straub

Add git_path_is_dot_or_dotdot.

Also, remove some duplication in the clone test
suite.
parent 822d9dd5
......@@ -24,6 +24,7 @@
#include "remote.h"
#include "fileops.h"
#include "refs.h"
#include "path.h"
GIT_BEGIN_DECL
......@@ -191,13 +192,6 @@ static int setup_remotes_and_fetch(git_repository *repo,
}
static bool is_dot_or_dotdot(const char *name)
{
return (name[0] == '.' &&
(name[1] == '\0' ||
(name[1] == '.' && name[2] == '\0')));
}
/* TODO: p_opendir, p_closedir */
static bool path_is_okay(const char *path)
{
......@@ -238,7 +232,7 @@ static bool path_is_okay(const char *path)
}
while ((e = readdir(dir)) != NULL) {
if (!is_dot_or_dotdot(e->d_name)) {
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;
......
......@@ -488,14 +488,6 @@ int git_path_cmp(
return (c1 < c2) ? -1 : (c1 > c2) ? 1 : 0;
}
/* Taken from git.git */
GIT_INLINE(int) is_dot_or_dotdot(const char *name)
{
return (name[0] == '.' &&
(name[1] == '\0' ||
(name[1] == '.' && name[2] == '\0')));
}
int git_path_direach(
git_buf *path,
int (*fn)(void *, git_buf *),
......@@ -524,7 +516,7 @@ int git_path_direach(
while (p_readdir_r(dir, de_buf, &de) == 0 && de != NULL) {
int result;
if (is_dot_or_dotdot(de->d_name))
if (git_path_is_dot_or_dotdot(de->d_name))
continue;
if (git_buf_puts(path, de->d_name) < 0) {
......@@ -583,7 +575,7 @@ int git_path_dirload(
char *entry_path;
size_t entry_len;
if (is_dot_or_dotdot(de->d_name))
if (git_path_is_dot_or_dotdot(de->d_name))
continue;
entry_len = strlen(de->d_name);
......
......@@ -80,6 +80,14 @@ extern int git_path_to_dir(git_buf *path);
*/
extern void git_path_string_to_dir(char* path, size_t size);
/* Taken from git.git */
GIT_INLINE(int) git_path_is_dot_or_dotdot(const char *name)
{
return (name[0] == '.' &&
(name[1] == '\0' ||
(name[1] == '.' && name[2] == '\0')));
}
#ifdef GIT_WIN32
/**
* Convert backslashes in path to forward slashes.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment