summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--refs.c13
-rw-r--r--refs.h9
2 files changed, 12 insertions, 10 deletions
diff --git a/refs.c b/refs.c
index 17f3497a0b..1a2a2bbbe7 100644
--- a/refs.c
+++ b/refs.c
@@ -1299,26 +1299,27 @@ const char *resolve_ref_unsafe(const char *refname, int resolve_flags,
resolve_flags, sha1, flags);
}
-int resolve_gitlink_ref(const char *path, const char *refname, unsigned char *sha1)
+int resolve_gitlink_ref(const char *submodule, const char *refname,
+ unsigned char *sha1)
{
- size_t len = strlen(path);
+ size_t len = strlen(submodule);
struct ref_store *refs;
int flags;
- while (len && path[len - 1] == '/')
+ while (len && submodule[len - 1] == '/')
len--;
if (!len)
return -1;
- if (path[len]) {
+ if (submodule[len]) {
/* We need to strip off one or more trailing slashes */
- char *stripped = xmemdupz(path, len);
+ char *stripped = xmemdupz(submodule, len);
refs = get_ref_store(stripped);
free(stripped);
} else {
- refs = get_ref_store(path);
+ refs = get_ref_store(submodule);
}
if (!refs)
diff --git a/refs.h b/refs.h
index 52ea93b8c3..132dcef5af 100644
--- a/refs.h
+++ b/refs.h
@@ -77,11 +77,12 @@ int is_branch(const char *refname);
int peel_ref(const char *refname, unsigned char *sha1);
/**
- * Resolve refname in the nested "gitlink" repository that is located
- * at path. If the resolution is successful, return 0 and set sha1 to
- * the name of the object; otherwise, return a non-zero value.
+ * Resolve refname in the nested "gitlink" repository in the specified
+ * submodule (which must be non-NULL). If the resolution is
+ * successful, return 0 and set sha1 to the name of the object;
+ * otherwise, return a non-zero value.
*/
-int resolve_gitlink_ref(const char *path, const char *refname,
+int resolve_gitlink_ref(const char *submodule, const char *refname,
unsigned char *sha1);
/*