summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2015-09-16 04:12:47 +0000
committerEdward Thomson <ethomson@edwardthomson.com>2015-09-16 04:12:47 +0000
commitb4d183a77aa01cac406aecdff8908f10cb3501cb (patch)
tree6673ffc807d3b813a83f041fe25a9085a198ca3e
parent33cad995899c960c777b3545dd58fd342ffdc64a (diff)
downloadlibgit2-b4d183a77aa01cac406aecdff8908f10cb3501cb.tar.gz
checkout::tree tests: don't use static buffer
-rw-r--r--tests/checkout/tree.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/tests/checkout/tree.c b/tests/checkout/tree.c
index 9217c12d9..3b84f43ce 100644
--- a/tests/checkout/tree.c
+++ b/tests/checkout/tree.c
@@ -989,15 +989,18 @@ void test_checkout_tree__filemode_preserved_in_index(void)
mode_t read_filemode(const char *path)
{
+ git_buf fullpath = GIT_BUF_INIT;
struct stat st;
- char pathabs[256] = {0};
+ mode_t result;
- strcat(pathabs, clar_sandbox_path());
- strcat(pathabs, "/testrepo/");
- strcat(pathabs, path);
- cl_must_pass(p_stat(pathabs, &st));
+ git_buf_joinpath(&fullpath, "testrepo", path);
+ cl_must_pass(p_stat(fullpath.ptr, &st));
- return st.st_mode;
+ result = GIT_PERMS_IS_EXEC(st.st_mode) ? 0100755 : 0100644;
+
+ git_buf_free(&fullpath);
+
+ return result;
}
void test_checkout_tree__filemode_preserved_in_workdir(void)