summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Haggerty <mhagger@alum.mit.edu>2017-02-10 12:16:18 +0100
committerJunio C Hamano <gitster@pobox.com>2017-02-10 11:13:26 -0800
commit9c7d772b6b716ec5f81afd3922340588985066b8 (patch)
treeb150a444f4e79ca384f1bbbea1320ad998074a79
parentfbfd0a291596a698773d3f687af3ab4c36a841bf (diff)
downloadgit-9c7d772b6b716ec5f81afd3922340588985066b8.tar.gz
files_ref_store::submodule: use NULL for the main repository
The old practice of storing the empty string in this member for the main repository was a holdover from before 00eebe3 (refs: create a base class "ref_store" for files_ref_store, 2016-09-04), when the submodule was stored in a flex array at the end of `struct files_ref_store`. Storing NULL for this case is more idiomatic and a tiny bit less code. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--refs/files-backend.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/refs/files-backend.c b/refs/files-backend.c
index c9d2d28488..4fe92f0637 100644
--- a/refs/files-backend.c
+++ b/refs/files-backend.c
@@ -915,8 +915,8 @@ struct files_ref_store {
/*
* The name of the submodule represented by this object, or
- * the empty string if it represents the main repository's
- * reference store:
+ * NULL if it represents the main repository's reference
+ * store:
*/
const char *submodule;
@@ -982,7 +982,7 @@ static struct ref_store *files_ref_store_create(const char *submodule)
base_ref_store_init(ref_store, &refs_be_files);
- refs->submodule = submodule ? xstrdup(submodule) : "";
+ refs->submodule = xstrdup_or_null(submodule);
return ref_store;
}
@@ -994,7 +994,7 @@ static struct ref_store *files_ref_store_create(const char *submodule)
static void files_assert_main_repository(struct files_ref_store *refs,
const char *caller)
{
- if (*refs->submodule)
+ if (refs->submodule)
die("BUG: %s called for a submodule", caller);
}
@@ -1158,7 +1158,7 @@ static struct packed_ref_cache *get_packed_ref_cache(struct files_ref_store *ref
{
char *packed_refs_file;
- if (*refs->submodule)
+ if (refs->submodule)
packed_refs_file = git_pathdup_submodule(refs->submodule,
"packed-refs");
else
@@ -1228,7 +1228,7 @@ static void read_loose_refs(const char *dirname, struct ref_dir *dir)
size_t path_baselen;
int err = 0;
- if (*refs->submodule)
+ if (refs->submodule)
err = strbuf_git_path_submodule(&path, refs->submodule, "%s", dirname);
else
strbuf_git_path(&path, "%s", dirname);
@@ -1269,7 +1269,7 @@ static void read_loose_refs(const char *dirname, struct ref_dir *dir)
} else {
int read_ok;
- if (*refs->submodule) {
+ if (refs->submodule) {
hashclr(sha1);
flag = 0;
read_ok = !resolve_gitlink_ref(refs->submodule,
@@ -1383,7 +1383,7 @@ static int files_read_raw_ref(struct ref_store *ref_store,
*type = 0;
strbuf_reset(&sb_path);
- if (*refs->submodule)
+ if (refs->submodule)
strbuf_git_path_submodule(&sb_path, refs->submodule, "%s", refname);
else
strbuf_git_path(&sb_path, "%s", refname);