Made git_repository_open() and git_repository_init() benefit from recently added path prettifying function.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
diff --git a/src/repository.c b/src/repository.c
index 97a7e15..5085d4f 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);