Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
refs.c: refactor get_submodule_ref_store(), share common free block
author
Nguyễn Thái Ngọc Duy
<pclouds@gmail.com>
Wed, 23 Aug 2017 12:36:53 +0000
(19:36 +0700)
committer
Junio C Hamano
<gitster@pobox.com>
Thu, 24 Aug 2017 21:46:02 +0000
(14:46 -0700)
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
be489d0
)
diff --git
a/refs.c
b/refs.c
index dec899a57a69800a44cebcd05e38c014da43ea3a..522c4ab74f505c1737f79311deea083ee33c3112 100644
(file)
--- a/
refs.c
+++ b/
refs.c
@@
-1636,7
+1636,6
@@
struct ref_store *get_submodule_ref_store(const char *submodule)
{
struct strbuf submodule_sb = STRBUF_INIT;
struct ref_store *refs;
{
struct strbuf submodule_sb = STRBUF_INIT;
struct ref_store *refs;
- int ret;
if (!submodule || !*submodule) {
/*
if (!submodule || !*submodule) {
/*
@@
-1648,19
+1647,14
@@
struct ref_store *get_submodule_ref_store(const char *submodule)
refs = lookup_ref_store_map(&submodule_ref_stores, submodule);
if (refs)
refs = lookup_ref_store_map(&submodule_ref_stores, submodule);
if (refs)
-
return refs
;
+
goto done
;
strbuf_addstr(&submodule_sb, submodule);
strbuf_addstr(&submodule_sb, submodule);
- ret = is_nonbare_repository_dir(&submodule_sb);
- strbuf_release(&submodule_sb);
- if (!ret)
- return NULL;
+ if (!is_nonbare_repository_dir(&submodule_sb))
+ goto done;
- ret = submodule_to_gitdir(&submodule_sb, submodule);
- if (ret) {
- strbuf_release(&submodule_sb);
- return NULL;
- }
+ if (submodule_to_gitdir(&submodule_sb, submodule))
+ goto done;
/* assume that add_submodule_odb() has been called */
refs = ref_store_init(submodule_sb.buf,
/* assume that add_submodule_odb() has been called */
refs = ref_store_init(submodule_sb.buf,
@@
-1668,6
+1662,7
@@
struct ref_store *get_submodule_ref_store(const char *submodule)
register_ref_store_map(&submodule_ref_stores, "submodule",
refs, submodule);
register_ref_store_map(&submodule_ref_stores, "submodule",
refs, submodule);
+done:
strbuf_release(&submodule_sb);
return refs;
}
strbuf_release(&submodule_sb);
return refs;
}