summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornulltoken <emeric.fermas@gmail.com>2011-01-21 14:02:22 +0100
committerVicent Marti <tanoku@gmail.com>2011-01-29 03:29:32 +0200
commit9dd34b1e89f9d52397dacba1575e3b25cfd6e52e (patch)
tree911675f536ee0f616a325dbfdd062af5455e4952
parentae7ffea96132ee8df08f7c18aac6b36acbd689cf (diff)
downloadlibgit2-9dd34b1e89f9d52397dacba1575e3b25cfd6e52e.tar.gz
Made git_repository_open() and git_repository_init() benefit from recently added path prettifying function.
-rw-r--r--src/repository.c31
1 files changed, 12 insertions, 19 deletions
diff --git a/src/repository.c b/src/repository.c
index 97a7e15e2..5085d4f5d 100644
--- a/src/repository.c
+++ b/src/repository.c
@@ -151,19 +151,16 @@ static int guess_repository_DIRs(git_repository *repo, const char *repository_pa
{
char path_aux[GIT_PATH_MAX], *last_DIR;
int path_len;
+ int error = GIT_SUCCESS;
- if (gitfo_isdir(repository_path) < GIT_SUCCESS)
- return GIT_ENOTAREPO;
-
- path_len = strlen(repository_path);
- strcpy(path_aux, repository_path);
+ error = git_prettify_dir_path(path_aux, repository_path);
+ if (error < GIT_SUCCESS)
+ return error;
- if (path_aux[path_len - 1] != '/') {
- path_aux[path_len] = '/';
- path_aux[path_len + 1] = 0;
+ if (gitfo_isdir(path_aux) < GIT_SUCCESS)
+ return GIT_ENOTAREPO;
- path_len = path_len + 1;
- }
+ path_len = strlen(path_aux);
repo->path_repository = git__strdup(path_aux);
@@ -576,17 +573,13 @@ static int repo_init_find_dir(repo_init *results, const char* path)
char temp_path[GIT_PATH_MAX];
int path_len;
+ int error = GIT_SUCCESS;
- path_len = strlen(path);
- strcpy(temp_path, path);
-
- /* Ensure path has a trailing slash */
- if (temp_path[path_len - 1] != '/') {
- temp_path[path_len] = '/';
- temp_path[path_len + 1] = 0;
+ error = git_prettify_dir_path(temp_path, path);
+ if (error < GIT_SUCCESS)
+ return error;
- path_len = path_len + 1;
- }
+ path_len = strlen(temp_path);
if (!results->is_bare) {
strcpy(temp_path + path_len - 1, GIT_DIR);