projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] Factor out useful test case infrastructure from t/t6001... into t/t6000-lib.sh
[git.git]
/
sha1_file.c
diff --git
a/sha1_file.c
b/sha1_file.c
index
74dc2aa
..
1747276
100644
(file)
--- a/
sha1_file.c
+++ b/
sha1_file.c
@@
-104,15
+104,13
@@
char *get_index_file(void)
char *git_path(const char *fmt, ...)
{
char *git_path(const char *fmt, ...)
{
- static char pathname[PATH_MAX];
+ static char pathname[PATH_MAX]
, *ret
;
va_list args;
int len;
if (!git_dir)
setup_git_env();
len = strlen(git_dir);
va_list args;
int len;
if (!git_dir)
setup_git_env();
len = strlen(git_dir);
- if (len == 1 && *git_dir == '.')
- len = 0;
if (len > PATH_MAX-100)
return "pad-path";
memcpy(pathname, git_dir, len);
if (len > PATH_MAX-100)
return "pad-path";
memcpy(pathname, git_dir, len);
@@
-121,7
+119,15
@@
char *git_path(const char *fmt, ...)
va_start(args, fmt);
vsnprintf(pathname + len, sizeof(pathname) - len, fmt, args);
va_end(args);
va_start(args, fmt);
vsnprintf(pathname + len, sizeof(pathname) - len, fmt, args);
va_end(args);
- return pathname;
+ ret = pathname;
+
+ /* Clean it up */
+ if (!memcmp(pathname, "./", 2)) {
+ ret += 2;
+ while (*ret == '/')
+ ret++;
+ }
+ return ret;
}
int get_sha1(const char *str, unsigned char *sha1)
}
int get_sha1(const char *str, unsigned char *sha1)
@@
-457,6
+463,7
@@
static void prepare_packed_git_one(char *objdir)
p->next = packed_git;
packed_git = p;
}
p->next = packed_git;
packed_git = p;
}
+ closedir(dir);
}
void prepare_packed_git(void)
}
void prepare_packed_git(void)