From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
"Brandon Williams" <bmwill@google.com>,
"Christian Couder" <christian.couder@gmail.com>,
"Martin Ågren" <martin.agren@gmail.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH v3 2/2] *.[ch] refactoring: make use of the FREE_AND_NULL() macro
Date: Thu, 15 Jun 2017 21:07:00 +0000 [thread overview]
Message-ID: <20170615210700.16310-3-avarab@gmail.com> (raw)
In-Reply-To: <20170615210700.16310-1-avarab@gmail.com>
In-Reply-To: <CACBZZX7S9A=mPSgqtmVyZbLdR3GVH+ux3tGN1QXBMEzbg8Ffog@mail.gmail.com>
Replace occurrences of `free(ptr); ptr = NULL` with
`FREE_AND_NULL(ptr)`. This introduces no functional changes, but
reduces the line count and establishes this pattern as a common idiom
with a wrapper macro.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
alias.c | 6 ++----
apply.c | 3 +--
attr.c | 6 ++----
blame.c | 3 +--
branch.c | 3 +--
builtin/am.c | 18 +++++-------------
builtin/clean.c | 6 ++----
builtin/config.c | 6 ++----
builtin/index-pack.c | 6 ++----
builtin/pack-objects.c | 12 ++++--------
builtin/unpack-objects.c | 3 +--
builtin/worktree.c | 6 ++----
commit-slab.h | 3 +--
commit.c | 3 +--
config.c | 3 +--
credential.c | 9 +++------
diff-lib.c | 3 +--
diff.c | 6 ++----
diffcore-rename.c | 6 ++----
dir.c | 9 +++------
fast-import.c | 6 ++----
gpg-interface.c | 15 +++++----------
grep.c | 12 ++++--------
help.c | 3 +--
http-push.c | 24 ++++++++----------------
http.c | 15 +++++----------
imap-send.c | 3 +--
line-log.c | 6 ++----
ll-merge.c | 3 +--
mailinfo.c | 3 +--
object.c | 3 +--
pathspec.c | 3 +--
prio-queue.c | 3 +--
read-cache.c | 6 ++----
ref-filter.c | 3 +--
refs/files-backend.c | 3 +--
refs/ref-cache.c | 3 +--
remote-testsvn.c | 3 +--
rerere.c | 3 +--
sequencer.c | 3 +--
sha1-array.c | 3 +--
sha1_file.c | 3 +--
split-index.c | 3 +--
transport-helper.c | 27 +++++++++------------------
transport.c | 3 +--
tree-diff.c | 6 ++----
tree-walk.c | 3 +--
tree.c | 3 +--
48 files changed, 97 insertions(+), 197 deletions(-)
diff --git a/alias.c b/alias.c
index 3b90397a99..911481855f 100644
--- a/alias.c
+++ b/alias.c
@@ -47,8 +47,7 @@ int split_cmdline(char *cmdline, const char ***argv)
src++;
c = cmdline[src];
if (!c) {
- free(*argv);
- *argv = NULL;
+ FREE_AND_NULL(*argv);
return -SPLIT_CMDLINE_BAD_ENDING;
}
}
@@ -60,8 +59,7 @@ int split_cmdline(char *cmdline, const char ***argv)
cmdline[dst] = 0;
if (quoted) {
- free(*argv);
- *argv = NULL;
+ FREE_AND_NULL(*argv);
return -SPLIT_CMDLINE_UNCLOSED_QUOTE;
}
diff --git a/apply.c b/apply.c
index 854faa6779..e78de0affa 100644
--- a/apply.c
+++ b/apply.c
@@ -3705,8 +3705,7 @@ static int check_preimage(struct apply_state *state,
is_new:
patch->is_new = 1;
patch->is_delete = 0;
- free(patch->old_name);
- patch->old_name = NULL;
+ FREE_AND_NULL(patch->old_name);
return 0;
}
diff --git a/attr.c b/attr.c
index 821203e2a9..ebdcfb0b8a 100644
--- a/attr.c
+++ b/attr.c
@@ -638,13 +638,11 @@ void attr_check_reset(struct attr_check *check)
void attr_check_clear(struct attr_check *check)
{
- free(check->items);
- check->items = NULL;
+ FREE_AND_NULL(check->items);
check->alloc = 0;
check->nr = 0;
- free(check->all_attrs);
- check->all_attrs = NULL;
+ FREE_AND_NULL(check->all_attrs);
check->all_attrs_nr = 0;
drop_attr_stack(&check->stack);
diff --git a/blame.c b/blame.c
index 843c845cba..1183943960 100644
--- a/blame.c
+++ b/blame.c
@@ -314,8 +314,7 @@ static void fill_origin_blob(struct diff_options *opt,
static void drop_origin_blob(struct blame_origin *o)
{
if (o->file.ptr) {
- free(o->file.ptr);
- o->file.ptr = NULL;
+ FREE_AND_NULL(o->file.ptr);
}
}
diff --git a/branch.c b/branch.c
index 985316eb76..2347cb8649 100644
--- a/branch.c
+++ b/branch.c
@@ -24,8 +24,7 @@ static int find_tracked_branch(struct remote *remote, void *priv)
} else {
free(tracking->spec.src);
if (tracking->src) {
- free(tracking->src);
- tracking->src = NULL;
+ FREE_AND_NULL(tracking->src);
}
}
tracking->spec.src = NULL;
diff --git a/builtin/am.c b/builtin/am.c
index 8881d73615..80368b6fe6 100644
--- a/builtin/am.c
+++ b/builtin/am.c
@@ -483,8 +483,7 @@ static int run_applypatch_msg_hook(struct am_state *state)
ret = run_hook_le(NULL, "applypatch-msg", am_path(state, "final-commit"), NULL);
if (!ret) {
- free(state->msg);
- state->msg = NULL;
+ FREE_AND_NULL(state->msg);
if (read_commit_msg(state) < 0)
die(_("'%s' was deleted by the applypatch-msg hook"),
am_path(state, "final-commit"));
@@ -1073,17 +1072,10 @@ static void am_next(struct am_state *state)
{
struct object_id head;
- free(state->author_name);
- state->author_name = NULL;
-
- free(state->author_email);
- state->author_email = NULL;
-
- free(state->author_date);
- state->author_date = NULL;
-
- free(state->msg);
- state->msg = NULL;
+ FREE_AND_NULL(state->author_name);
+ FREE_AND_NULL(state->author_email);
+ FREE_AND_NULL(state->author_date);
+ FREE_AND_NULL(state->msg);
state->msg_len = 0;
unlink(am_path(state, "author-script"));
diff --git a/builtin/clean.c b/builtin/clean.c
index 142bf668cf..bff5a07330 100644
--- a/builtin/clean.c
+++ b/builtin/clean.c
@@ -837,8 +837,7 @@ static void interactive_main_loop(void)
int ret;
ret = menus[*chosen].fn();
if (ret != MENU_RETURN_NO_LOOP) {
- free(chosen);
- chosen = NULL;
+ FREE_AND_NULL(chosen);
if (!del_list.nr) {
clean_print_color(CLEAN_COLOR_ERROR);
printf_ln(_("No more files to clean, exiting."));
@@ -851,8 +850,7 @@ static void interactive_main_loop(void)
quit_cmd();
}
- free(chosen);
- chosen = NULL;
+ FREE_AND_NULL(chosen);
break;
}
}
diff --git a/builtin/config.c b/builtin/config.c
index 7f6c25d4d9..18c2158630 100644
--- a/builtin/config.c
+++ b/builtin/config.c
@@ -214,8 +214,7 @@ static int get_value(const char *key_, const char *regex_)
key_regexp = (regex_t*)xmalloc(sizeof(regex_t));
if (regcomp(key_regexp, key, REG_EXTENDED)) {
error("invalid key pattern: %s", key_);
- free(key_regexp);
- key_regexp = NULL;
+ FREE_AND_NULL(key_regexp);
ret = CONFIG_INVALID_PATTERN;
goto free_strings;
}
@@ -235,8 +234,7 @@ static int get_value(const char *key_, const char *regex_)
regexp = (regex_t*)xmalloc(sizeof(regex_t));
if (regcomp(regexp, regex_, REG_EXTENDED)) {
error("invalid pattern: %s", regex_);
- free(regexp);
- regexp = NULL;
+ FREE_AND_NULL(regexp);
ret = CONFIG_INVALID_PATTERN;
goto free_strings;
}
diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index 04b9dcaf0f..f3b16520c2 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c
@@ -388,8 +388,7 @@ static struct base_data *alloc_base_data(void)
static void free_base_data(struct base_data *c)
{
if (c->data) {
- free(c->data);
- c->data = NULL;
+ FREE_AND_NULL(c->data);
get_thread_data()->base_cache_used -= c->size;
}
}
@@ -605,8 +604,7 @@ static void *unpack_data(struct object_entry *obj,
git_inflate_end(&stream);
free(inbuf);
if (consume) {
- free(data);
- data = NULL;
+ FREE_AND_NULL(data);
}
return data;
}
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index f672225def..790615b2c3 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -264,8 +264,7 @@ static unsigned long write_no_reuse_object(struct sha1file *f, struct object_ent
* make sure no cached delta data remains from a
* previous attempt before a pack split occurred.
*/
- free(entry->delta_data);
- entry->delta_data = NULL;
+ FREE_AND_NULL(entry->delta_data);
entry->z_delta_size = 0;
} else if (entry->delta_data) {
size = entry->delta_size;
@@ -1375,12 +1374,10 @@ static void cleanup_preferred_base(void)
if (!pbase_tree_cache[i])
continue;
free(pbase_tree_cache[i]->tree_data);
- free(pbase_tree_cache[i]);
- pbase_tree_cache[i] = NULL;
+ FREE_AND_NULL(pbase_tree_cache[i]);
}
- free(done_pbase_paths);
- done_pbase_paths = NULL;
+ FREE_AND_NULL(done_pbase_paths);
done_pbase_paths_num = done_pbase_paths_alloc = 0;
}
@@ -1970,8 +1967,7 @@ static unsigned long free_unpacked(struct unpacked *n)
n->index = NULL;
if (n->data) {
freed_mem += n->entry->size;
- free(n->data);
- n->data = NULL;
+ FREE_AND_NULL(n->data);
}
n->entry = NULL;
n->depth = 0;
diff --git a/builtin/unpack-objects.c b/builtin/unpack-objects.c
index 8bc9997767..60bfe48789 100644
--- a/builtin/unpack-objects.c
+++ b/builtin/unpack-objects.c
@@ -112,8 +112,7 @@ static void *get_data(unsigned long size)
break;
if (ret != Z_OK) {
error("inflate returned %d", ret);
- free(buf);
- buf = NULL;
+ FREE_AND_NULL(buf);
if (!recover)
exit(1);
has_errors = 1;
diff --git a/builtin/worktree.c b/builtin/worktree.c
index 793306ea51..41d1c007a4 100644
--- a/builtin/worktree.c
+++ b/builtin/worktree.c
@@ -299,10 +299,8 @@ static int add_worktree(const char *path, const char *refname,
}
is_junk = 0;
- free(junk_work_tree);
- free(junk_git_dir);
- junk_work_tree = NULL;
- junk_git_dir = NULL;
+ FREE_AND_NULL(junk_work_tree);
+ FREE_AND_NULL(junk_git_dir);
done:
if (ret || !opts->keep_locked) {
diff --git a/commit-slab.h b/commit-slab.h
index 42d16dcded..3286c3581b 100644
--- a/commit-slab.h
+++ b/commit-slab.h
@@ -82,8 +82,7 @@ static MAYBE_UNUSED void clear_ ##slabname(struct slabname *s) \
for (i = 0; i < s->slab_count; i++) \
free(s->slab[i]); \
s->slab_count = 0; \
- free(s->slab); \
- s->slab = NULL; \
+ FREE_AND_NULL(s->slab); \
} \
\
static MAYBE_UNUSED elemtype *slabname## _at_peek(struct slabname *s, \
diff --git a/commit.c b/commit.c
index 99846d9bf4..cbfd689939 100644
--- a/commit.c
+++ b/commit.c
@@ -287,8 +287,7 @@ void free_commit_buffer(struct commit *commit)
{
struct commit_buffer *v = buffer_slab_peek(&buffer_slab, commit);
if (v) {
- free(v->buffer);
- v->buffer = NULL;
+ FREE_AND_NULL(v->buffer);
v->size = 0;
}
}
diff --git a/config.c b/config.c
index 34a139c40b..0501a60dd2 100644
--- a/config.c
+++ b/config.c
@@ -395,8 +395,7 @@ static int git_config_parse_key_1(const char *key, char **store_key, int *basele
out_free_ret_1:
if (store_key) {
- free(*store_key);
- *store_key = NULL;
+ FREE_AND_NULL(*store_key);
}
return -CONFIG_INVALID_KEY;
}
diff --git a/credential.c b/credential.c
index aa996669fc..924ab58538 100644
--- a/credential.c
+++ b/credential.c
@@ -93,8 +93,7 @@ static void credential_apply_config(struct credential *c)
c->configured = 1;
if (!c->use_http_path && proto_is_http(c->protocol)) {
- free(c->path);
- c->path = NULL;
+ FREE_AND_NULL(c->path);
}
}
@@ -314,10 +313,8 @@ void credential_reject(struct credential *c)
for (i = 0; i < c->helpers.nr; i++)
credential_do(c, c->helpers.items[i].string, "erase");
- free(c->username);
- c->username = NULL;
- free(c->password);
- c->password = NULL;
+ FREE_AND_NULL(c->username);
+ FREE_AND_NULL(c->password);
c->approved = 0;
}
diff --git a/diff-lib.c b/diff-lib.c
index 76c8f185cd..7528f4163f 100644
--- a/diff-lib.c
+++ b/diff-lib.c
@@ -179,8 +179,7 @@ int run_diff_files(struct rev_info *revs, unsigned int option)
free(dpath);
continue;
}
- free(dpath);
- dpath = NULL;
+ FREE_AND_NULL(dpath);
/*
* Show the diff for the 'ce' if we found the one
diff --git a/diff.c b/diff.c
index e35cf6c704..3561adf49f 100644
--- a/diff.c
+++ b/diff.c
@@ -1218,8 +1218,7 @@ static void free_diff_words_data(struct emit_callback *ecbdata)
regfree(ecbdata->diff_words->word_regex);
free(ecbdata->diff_words->word_regex);
}
- free(ecbdata->diff_words);
- ecbdata->diff_words = NULL;
+ FREE_AND_NULL(ecbdata->diff_words);
}
}
@@ -2951,8 +2950,7 @@ void diff_free_filespec_blob(struct diff_filespec *s)
void diff_free_filespec_data(struct diff_filespec *s)
{
diff_free_filespec_blob(s);
- free(s->cnt_data);
- s->cnt_data = NULL;
+ FREE_AND_NULL(s->cnt_data);
}
static void prep_temp_blob(const char *path, struct diff_tempfile *temp,
diff --git a/diffcore-rename.c b/diffcore-rename.c
index f7444c86bd..6d8daf9c00 100644
--- a/diffcore-rename.c
+++ b/diffcore-rename.c
@@ -667,11 +667,9 @@ void diffcore_rename(struct diff_options *options)
for (i = 0; i < rename_dst_nr; i++)
free_filespec(rename_dst[i].two);
- free(rename_dst);
- rename_dst = NULL;
+ FREE_AND_NULL(rename_dst);
rename_dst_nr = rename_dst_alloc = 0;
- free(rename_src);
- rename_src = NULL;
+ FREE_AND_NULL(rename_src);
rename_src_nr = rename_src_alloc = 0;
return;
}
diff --git a/dir.c b/dir.c
index 1759063817..7dc168b806 100644
--- a/dir.c
+++ b/dir.c
@@ -2117,8 +2117,7 @@ int read_directory(struct dir_struct *dir, struct index_state *istate,
for (i = j = 0; j < dir->nr; j++) {
if (i &&
check_dir_entry_contains(dir->entries[i - 1], dir->entries[j])) {
- free(dir->entries[j]);
- dir->entries[j] = NULL;
+ FREE_AND_NULL(dir->entries[j]);
} else {
dir->entries[i++] = dir->entries[j];
}
@@ -2144,8 +2143,7 @@ int read_directory(struct dir_struct *dir, struct index_state *istate,
dir->untracked->dir_invalidated))
istate->cache_changed |= UNTRACKED_CHANGED;
if (dir->untracked != istate->untracked) {
- free(dir->untracked);
- dir->untracked = NULL;
+ FREE_AND_NULL(dir->untracked);
}
}
return dir->nr;
@@ -2488,8 +2486,7 @@ void write_untracked_extension(struct strbuf *out, struct untracked_cache *untra
strbuf_addbuf(out, &untracked->ident);
strbuf_add(out, ouc, ouc_size(len));
- free(ouc);
- ouc = NULL;
+ FREE_AND_NULL(ouc);
if (!untracked->root) {
varint_len = encode_varint(0, varbuf);
diff --git a/fast-import.c b/fast-import.c
index 9a22fc92c0..eeab927d5a 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -1063,8 +1063,7 @@ static void end_packfile(void)
close(pack_data->pack_fd);
unlink_or_warn(pack_data->pack_name);
}
- free(pack_data);
- pack_data = NULL;
+ FREE_AND_NULL(pack_data);
running = 0;
/* We can't carry a delta across packfiles. */
@@ -1149,8 +1148,7 @@ static int store_object(
/* We cannot carry a delta into the new pack. */
if (delta) {
- free(delta);
- delta = NULL;
+ FREE_AND_NULL(delta);
git_deflate_init(&s, pack_compression_level);
s.next_in = (void *)dat->buf;
diff --git a/gpg-interface.c b/gpg-interface.c
index e44cc27da1..3f377f89d0 100644
--- a/gpg-interface.c
+++ b/gpg-interface.c
@@ -13,16 +13,11 @@ static const char *gpg_program = "gpg";
void signature_check_clear(struct signature_check *sigc)
{
- free(sigc->payload);
- free(sigc->gpg_output);
- free(sigc->gpg_status);
- free(sigc->signer);
- free(sigc->key);
- sigc->payload = NULL;
- sigc->gpg_output = NULL;
- sigc->gpg_status = NULL;
- sigc->signer = NULL;
- sigc->key = NULL;
+ FREE_AND_NULL(sigc->payload);
+ FREE_AND_NULL(sigc->gpg_output);
+ FREE_AND_NULL(sigc->gpg_status);
+ FREE_AND_NULL(sigc->signer);
+ FREE_AND_NULL(sigc->key);
}
static struct {
diff --git a/grep.c b/grep.c
index d03d424e5c..909f35a984 100644
--- a/grep.c
+++ b/grep.c
@@ -1763,12 +1763,9 @@ void grep_source_init(struct grep_source *gs, enum grep_source_type type,
void grep_source_clear(struct grep_source *gs)
{
- free(gs->name);
- gs->name = NULL;
- free(gs->path);
- gs->path = NULL;
- free(gs->identifier);
- gs->identifier = NULL;
+ FREE_AND_NULL(gs->name);
+ FREE_AND_NULL(gs->path);
+ FREE_AND_NULL(gs->identifier);
grep_source_clear_data(gs);
}
@@ -1778,8 +1775,7 @@ void grep_source_clear_data(struct grep_source *gs)
case GREP_SOURCE_FILE:
case GREP_SOURCE_SHA1:
case GREP_SOURCE_SUBMODULE:
- free(gs->buf);
- gs->buf = NULL;
+ FREE_AND_NULL(gs->buf);
gs->size = 0;
break;
case GREP_SOURCE_BUF:
diff --git a/help.c b/help.c
index db7f3d79a0..a2f48c0df3 100644
--- a/help.c
+++ b/help.c
@@ -267,9 +267,8 @@ static void add_cmd_list(struct cmdnames *cmds, struct cmdnames *old)
for (i = 0; i < old->cnt; i++)
cmds->names[cmds->cnt++] = old->names[i];
- free(old->names);
+ FREE_AND_NULL(old->names);
old->cnt = 0;
- old->names = NULL;
}
/* An empirically derived magic number */
diff --git a/http-push.c b/http-push.c
index 67c4d4b472..c91f40a610 100644
--- a/http-push.c
+++ b/http-push.c
@@ -291,8 +291,7 @@ static void start_mkcol(struct transfer_request *request)
request->state = RUN_MKCOL;
} else {
request->state = ABORTED;
- free(request->url);
- request->url = NULL;
+ FREE_AND_NULL(request->url);
}
}
#endif
@@ -409,8 +408,7 @@ static void start_put(struct transfer_request *request)
request->state = RUN_PUT;
} else {
request->state = ABORTED;
- free(request->url);
- request->url = NULL;
+ FREE_AND_NULL(request->url);
}
}
@@ -432,8 +430,7 @@ static void start_move(struct transfer_request *request)
request->state = RUN_MOVE;
} else {
request->state = ABORTED;
- free(request->url);
- request->url = NULL;
+ FREE_AND_NULL(request->url);
}
}
@@ -526,8 +523,7 @@ static void finish_request(struct transfer_request *request)
/* URL is reused for MOVE after PUT */
if (request->state != RUN_PUT) {
- free(request->url);
- request->url = NULL;
+ FREE_AND_NULL(request->url);
}
if (request->state == RUN_MKCOL) {
@@ -803,8 +799,7 @@ xml_start_tag(void *userData, const char *name, const char **atts)
}
xsnprintf(ctx->name + old_namelen, ctx->len - old_namelen, ".%s", c);
- free(ctx->cdata);
- ctx->cdata = NULL;
+ FREE_AND_NULL(ctx->cdata);
ctx->userFunc(ctx, 0);
}
@@ -932,8 +927,7 @@ static struct remote_lock *lock_remote(const char *path, long timeout)
free(lock->token);
free(lock->owner);
free(url);
- free(lock);
- lock = NULL;
+ FREE_AND_NULL(lock);
} else {
lock->url = url;
lock->start_time = time(NULL);
@@ -1105,8 +1099,7 @@ static void handle_remote_ls_ctx(struct xml_ctx *ctx, int tag_closed)
ls->dentry_flags |= IS_DIR;
}
} else if (!strcmp(ctx->name, DAV_PROPFIND_RESP)) {
- free(ls->dentry_name);
- ls->dentry_name = NULL;
+ FREE_AND_NULL(ls->dentry_name);
ls->dentry_flags = 0;
}
}
@@ -1547,8 +1540,7 @@ static void fetch_symref(const char *path, char **symref, struct object_id *oid)
curl_errorstr);
free(url);
- free(*symref);
- *symref = NULL;
+ FREE_AND_NULL(*symref);
oidclr(oid);
if (buffer.len == 0)
diff --git a/http.c b/http.c
index d2e11ec6f0..77f46bef0f 100644
--- a/http.c
+++ b/http.c
@@ -1026,8 +1026,7 @@ void http_cleanup(void)
if (proxy_auth.password) {
memset(proxy_auth.password, 0, strlen(proxy_auth.password));
- free(proxy_auth.password);
- proxy_auth.password = NULL;
+ FREE_AND_NULL(proxy_auth.password);
}
free((void *)curl_proxyuserpwd);
@@ -1038,13 +1037,11 @@ void http_cleanup(void)
if (cert_auth.password != NULL) {
memset(cert_auth.password, 0, strlen(cert_auth.password));
- free(cert_auth.password);
- cert_auth.password = NULL;
+ FREE_AND_NULL(cert_auth.password);
}
ssl_cert_password_required = 0;
- free(cached_accept_language);
- cached_accept_language = NULL;
+ FREE_AND_NULL(cached_accept_language);
}
struct active_request_slot *get_active_slot(void)
@@ -1896,8 +1893,7 @@ static char *fetch_pack_index(unsigned char *sha1, const char *base_url)
if (http_get_file(url, tmp, NULL) != HTTP_OK) {
error("Unable to get pack index %s", url);
- free(tmp);
- tmp = NULL;
+ FREE_AND_NULL(tmp);
}
free(url);
@@ -2328,8 +2324,7 @@ void release_http_object_request(struct http_object_request *freq)
freq->localfile = -1;
}
if (freq->url != NULL) {
- free(freq->url);
- freq->url = NULL;
+ FREE_AND_NULL(freq->url);
}
if (freq->slot != NULL) {
freq->slot->callback_func = NULL;
diff --git a/imap-send.c b/imap-send.c
index 857591660f..40ddb496e6 100644
--- a/imap-send.c
+++ b/imap-send.c
@@ -776,8 +776,7 @@ static int get_cmd_result(struct imap_store *ctx, struct imap_cmd *tcmd)
offsetof(struct imap_cmd, next));
if (cmdp->cb.data) {
n = socket_write(&imap->buf.sock, cmdp->cb.data, cmdp->cb.dlen);
- free(cmdp->cb.data);
- cmdp->cb.data = NULL;
+ FREE_AND_NULL(cmdp->cb.data);
if (n != (int)cmdp->cb.dlen)
return RESP_BAD;
} else if (cmdp->cb.cont) {
diff --git a/line-log.c b/line-log.c
index b9087814b8..2d60c347ca 100644
--- a/line-log.c
+++ b/line-log.c
@@ -34,9 +34,8 @@ void range_set_init(struct range_set *rs, size_t prealloc)
void range_set_release(struct range_set *rs)
{
- free(rs->ranges);
+ FREE_AND_NULL(rs->ranges);
rs->alloc = rs->nr = 0;
- rs->ranges = NULL;
}
/* dst must be uninitialized! */
@@ -610,8 +609,7 @@ parse_lines(struct commit *commit, const char *prefix, struct string_list *args)
line_log_data_insert(&ranges, full_name, begin, end);
free_filespec(spec);
- free(ends);
- ends = NULL;
+ FREE_AND_NULL(ends);
}
for (p = ranges; p; p = p->next)
diff --git a/ll-merge.c b/ll-merge.c
index ac0d4a5d78..91ff519cef 100644
--- a/ll-merge.c
+++ b/ll-merge.c
@@ -209,8 +209,7 @@ static int ll_ext_merge(const struct ll_merge_driver *fn,
result->size = st.st_size;
result->ptr = xmallocz(result->size);
if (read_in_full(fd, result->ptr, result->size) != result->size) {
- free(result->ptr);
- result->ptr = NULL;
+ FREE_AND_NULL(result->ptr);
result->size = 0;
}
close_bad:
diff --git a/mailinfo.c b/mailinfo.c
index f92cb9f729..44f829edb1 100644
--- a/mailinfo.c
+++ b/mailinfo.c
@@ -919,8 +919,7 @@ static int handle_boundary(struct mailinfo *mi, struct strbuf *line)
/* we hit an end boundary */
/* pop the current boundary off the stack */
strbuf_release(*(mi->content_top));
- free(*(mi->content_top));
- *(mi->content_top) = NULL;
+ FREE_AND_NULL(*(mi->content_top));
/* technically won't happen as is_multipart_boundary()
will fail first. But just in case..
diff --git a/object.c b/object.c
index 06ba3a11d8..f818777412 100644
--- a/object.c
+++ b/object.c
@@ -377,8 +377,7 @@ void object_array_clear(struct object_array *array)
int i;
for (i = 0; i < array->nr; i++)
object_array_release_entry(&array->objects[i]);
- free(array->objects);
- array->objects = NULL;
+ FREE_AND_NULL(array->objects);
array->nr = array->alloc = 0;
}
diff --git a/pathspec.c b/pathspec.c
index 828405021f..54aab8bc01 100644
--- a/pathspec.c
+++ b/pathspec.c
@@ -662,7 +662,6 @@ void clear_pathspec(struct pathspec *pathspec)
attr_check_free(pathspec->items[i].attr_check);
}
- free(pathspec->items);
- pathspec->items = NULL;
+ FREE_AND_NULL(pathspec->items);
pathspec->nr = 0;
}
diff --git a/prio-queue.c b/prio-queue.c
index fc3860fdcb..126d096727 100644
--- a/prio-queue.c
+++ b/prio-queue.c
@@ -27,10 +27,9 @@ void prio_queue_reverse(struct prio_queue *queue)
void clear_prio_queue(struct prio_queue *queue)
{
- free(queue->array);
+ FREE_AND_NULL(queue->array);
queue->nr = 0;
queue->alloc = 0;
- queue->array = NULL;
queue->insertion_ctr = 0;
}
diff --git a/read-cache.c b/read-cache.c
index bc156a133e..66c413657e 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -1888,8 +1888,7 @@ int discard_index(struct index_state *istate)
free_name_hash(istate);
cache_tree_free(&(istate->cache_tree));
istate->initialized = 0;
- free(istate->cache);
- istate->cache = NULL;
+ FREE_AND_NULL(istate->cache);
istate->cache_alloc = 0;
discard_split_index(istate);
free_untracked_cache(istate->untracked);
@@ -2603,8 +2602,7 @@ void *read_blob_data_from_index(const struct index_state *istate,
void stat_validity_clear(struct stat_validity *sv)
{
- free(sv->sd);
- sv->sd = NULL;
+ FREE_AND_NULL(sv->sd);
}
int stat_validity_check(struct stat_validity *sv, const char *path)
diff --git a/ref-filter.c b/ref-filter.c
index ab32bc9c31..72e6cb8ecc 100644
--- a/ref-filter.c
+++ b/ref-filter.c
@@ -1891,8 +1891,7 @@ void ref_array_clear(struct ref_array *array)
for (i = 0; i < array->nr; i++)
free_array_item(array->items[i]);
- free(array->items);
- array->items = NULL;
+ FREE_AND_NULL(array->items);
array->nr = array->alloc = 0;
}
diff --git a/refs/files-backend.c b/refs/files-backend.c
index d8b3f73147..c1bd99d60f 100644
--- a/refs/files-backend.c
+++ b/refs/files-backend.c
@@ -2944,8 +2944,7 @@ static int files_transaction_prepare(struct ref_store *ref_store,
head_oid.hash, &head_type);
if (head_ref && !(head_type & REF_ISSYMREF)) {
- free(head_ref);
- head_ref = NULL;
+ FREE_AND_NULL(head_ref);
}
/*
diff --git a/refs/ref-cache.c b/refs/ref-cache.c
index af2fcb2c12..76bb723c86 100644
--- a/refs/ref-cache.c
+++ b/refs/ref-cache.c
@@ -82,9 +82,8 @@ static void clear_ref_dir(struct ref_dir *dir)
int i;
for (i = 0; i < dir->nr; i++)
free_ref_entry(dir->entries[i]);
- free(dir->entries);
+ FREE_AND_NULL(dir->entries);
dir->sorted = dir->nr = dir->alloc = 0;
- dir->entries = NULL;
}
struct ref_entry *create_dir_entry(struct ref_cache *cache,
diff --git a/remote-testsvn.c b/remote-testsvn.c
index 50404ef343..078b0c3139 100644
--- a/remote-testsvn.c
+++ b/remote-testsvn.c
@@ -66,8 +66,7 @@ static char *read_ref_note(const unsigned char sha1[20])
else if (!msglen || type != OBJ_BLOB) {
error("Note contains unusable content. "
"Is something else using this notes tree? %s", notes_ref);
- free(msg);
- msg = NULL;
+ FREE_AND_NULL(msg);
}
free_notes(NULL);
return msg;
diff --git a/rerere.c b/rerere.c
index c26c29f87a..61f3804a1e 100644
--- a/rerere.c
+++ b/rerere.c
@@ -39,9 +39,8 @@ static void free_rerere_dirs(void)
free(rerere_dir[i]->status);
free(rerere_dir[i]);
}
- free(rerere_dir);
+ FREE_AND_NULL(rerere_dir);
rerere_dir_nr = rerere_dir_alloc = 0;
- rerere_dir = NULL;
}
static void free_rerere_id(struct string_list_item *item)
diff --git a/sequencer.c b/sequencer.c
index 5282fb849c..070b42f240 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -1211,8 +1211,7 @@ struct todo_list {
static void todo_list_release(struct todo_list *todo_list)
{
strbuf_release(&todo_list->buf);
- free(todo_list->items);
- todo_list->items = NULL;
+ FREE_AND_NULL(todo_list->items);
todo_list->nr = todo_list->alloc = 0;
}
diff --git a/sha1-array.c b/sha1-array.c
index 7d646ab5b8..838b3bf847 100644
--- a/sha1-array.c
+++ b/sha1-array.c
@@ -35,8 +35,7 @@ int oid_array_lookup(struct oid_array *array, const struct object_id *oid)
void oid_array_clear(struct oid_array *array)
{
- free(array->oid);
- array->oid = NULL;
+ FREE_AND_NULL(array->oid);
array->nr = 0;
array->alloc = 0;
array->sorted = 0;
diff --git a/sha1_file.c b/sha1_file.c
index 59a4ed2ed3..d67c88bb8d 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -610,8 +610,7 @@ char *compute_alternate_path(const char *path, struct strbuf *err)
out:
if (seen_error) {
- free(ref_git);
- ref_git = NULL;
+ FREE_AND_NULL(ref_git);
}
return ref_git;
diff --git a/split-index.c b/split-index.c
index 49bd197f71..20477c6a48 100644
--- a/split-index.c
+++ b/split-index.c
@@ -174,10 +174,9 @@ void merge_base_index(struct index_state *istate)
ewah_free(si->delete_bitmap);
ewah_free(si->replace_bitmap);
- free(si->saved_cache);
+ FREE_AND_NULL(si->saved_cache);
si->delete_bitmap = NULL;
si->replace_bitmap = NULL;
- si->saved_cache = NULL;
si->saved_cache_nr = 0;
}
diff --git a/transport-helper.c b/transport-helper.c
index 36408046eb..33cff38cc0 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -242,8 +242,7 @@ static int disconnect_helper(struct transport *transport)
close(data->helper->out);
fclose(data->out);
res = finish_command(data->helper);
- free(data->helper);
- data->helper = NULL;
+ FREE_AND_NULL(data->helper);
}
return res;
}
@@ -711,43 +710,35 @@ static int push_update_ref_status(struct strbuf *buf,
if (!strcmp(msg, "no match")) {
status = REF_STATUS_NONE;
- free(msg);
- msg = NULL;
+ FREE_AND_NULL(msg);
}
else if (!strcmp(msg, "up to date")) {
status = REF_STATUS_UPTODATE;
- free(msg);
- msg = NULL;
+ FREE_AND_NULL(msg);
}
else if (!strcmp(msg, "non-fast forward")) {
status = REF_STATUS_REJECT_NONFASTFORWARD;
- free(msg);
- msg = NULL;
+ FREE_AND_NULL(msg);
}
else if (!strcmp(msg, "already exists")) {
status = REF_STATUS_REJECT_ALREADY_EXISTS;
- free(msg);
- msg = NULL;
+ FREE_AND_NULL(msg);
}
else if (!strcmp(msg, "fetch first")) {
status = REF_STATUS_REJECT_FETCH_FIRST;
- free(msg);
- msg = NULL;
+ FREE_AND_NULL(msg);
}
else if (!strcmp(msg, "needs force")) {
status = REF_STATUS_REJECT_NEEDS_FORCE;
- free(msg);
- msg = NULL;
+ FREE_AND_NULL(msg);
}
else if (!strcmp(msg, "stale info")) {
status = REF_STATUS_REJECT_STALE;
- free(msg);
- msg = NULL;
+ FREE_AND_NULL(msg);
}
else if (!strcmp(msg, "forced update")) {
forced = 1;
- free(msg);
- msg = NULL;
+ FREE_AND_NULL(msg);
}
}
diff --git a/transport.c b/transport.c
index 9bfcf870f9..cf35088001 100644
--- a/transport.c
+++ b/transport.c
@@ -1145,8 +1145,7 @@ void transport_unlock_pack(struct transport *transport)
{
if (transport->pack_lockfile) {
unlink_or_warn(transport->pack_lockfile);
- free(transport->pack_lockfile);
- transport->pack_lockfile = NULL;
+ FREE_AND_NULL(transport->pack_lockfile);
}
}
diff --git a/tree-diff.c b/tree-diff.c
index e164e532b2..1e1b393d08 100644
--- a/tree-diff.c
+++ b/tree-diff.c
@@ -140,8 +140,7 @@ static struct combine_diff_path *path_appendnew(struct combine_diff_path *last,
/* if last->next is !NULL - it is a pre-allocated memory, we can reuse */
p = last->next;
if (p && (alloclen > (intptr_t)p->next)) {
- free(p);
- p = NULL;
+ FREE_AND_NULL(p);
}
if (!p) {
@@ -559,8 +558,7 @@ struct combine_diff_path *diff_tree_paths(
* (see path_appendnew() for details about why)
*/
if (p->next) {
- free(p->next);
- p->next = NULL;
+ FREE_AND_NULL(p->next);
}
return p;
diff --git a/tree-walk.c b/tree-walk.c
index 6a42e402b0..9f67b89c87 100644
--- a/tree-walk.c
+++ b/tree-walk.c
@@ -479,8 +479,7 @@ int traverse_trees(int n, struct tree_desc *t, struct traverse_info *info)
for (i = 0; i < n; i++)
free_extended_entry(tx + i);
free(tx);
- free(traverse_path);
- info->traverse_path = NULL;
+ FREE_AND_NULL(traverse_path);
strbuf_release(&base);
return error;
}
diff --git a/tree.c b/tree.c
index 603b29ee80..614f91586d 100644
--- a/tree.c
+++ b/tree.c
@@ -226,8 +226,7 @@ int parse_tree_gently(struct tree *item, int quiet_on_missing)
void free_tree_buffer(struct tree *tree)
{
- free(tree->buffer);
- tree->buffer = NULL;
+ FREE_AND_NULL(tree->buffer);
tree->size = 0;
tree->object.parsed = 0;
}
--
2.13.1.508.gb3defc5cc
next prev parent reply other threads:[~2017-06-15 21:07 UTC|newest]
Thread overview: 214+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-31 21:43 [PATCH 00/31] repository object Brandon Williams
2017-05-31 21:43 ` [PATCH 01/31] config: create config.h Brandon Williams
2017-05-31 21:43 ` [PATCH 02/31] config: don't include config.h by default Brandon Williams
2017-05-31 21:43 ` [PATCH 03/31] config: don't implicitly use gitdir Brandon Williams
2017-06-08 10:41 ` Johannes Schindelin
2017-06-08 16:37 ` Brandon Williams
2017-06-08 18:58 ` Johannes Schindelin
2017-06-08 19:19 ` Brandon Williams
2017-05-31 21:43 ` [PATCH 04/31] setup: don't perform lazy initialization of repository state Brandon Williams
2017-06-01 19:23 ` Stefan Beller
2017-06-02 18:39 ` Jeff King
2017-06-05 17:43 ` Brandon Williams
2017-06-05 18:20 ` Jeff King
2017-06-05 18:44 ` Brandon Williams
2017-05-31 21:43 ` [PATCH 05/31] environment: remove namespace_len variable Brandon Williams
2017-06-01 19:28 ` Stefan Beller
2017-06-01 21:09 ` Brandon Williams
2017-05-31 21:43 ` [PATCH 06/31] repo: introduce the repository object Brandon Williams
2017-06-01 19:53 ` Stefan Beller
2017-06-05 17:53 ` Brandon Williams
2017-06-05 18:31 ` Stefan Beller
2017-05-31 21:43 ` [PATCH 07/31] environment: place key repository state in the_repository Brandon Williams
2017-05-31 21:43 ` [PATCH 08/31] environment: store worktree " Brandon Williams
2017-05-31 21:43 ` [PATCH 09/31] setup: add comment indicating a hack Brandon Williams
2017-05-31 21:43 ` [PATCH 10/31] config: migrate the_configset to the_repository Brandon Williams
2017-05-31 21:43 ` [PATCH 11/31] repo: add index_state to struct repo Brandon Williams
2017-05-31 21:43 ` [PATCH 12/31] submodule-config: store the_submodule_cache in the_repository Brandon Williams
2017-05-31 21:43 ` [PATCH 13/31] repo: add repo_read_gitmodules Brandon Williams
2017-05-31 21:44 ` [PATCH 14/31] submodule: convert is_submodule_initialized to work on a repository Brandon Williams
2017-05-31 21:44 ` [PATCH 15/31] convert: convert get_cached_convert_stats_ascii to take an index Brandon Williams
2017-05-31 21:44 ` [PATCH 16/31] convert: convert crlf_to_git " Brandon Williams
2017-05-31 21:44 ` [PATCH 17/31] convert: convert convert_to_git_filter_fd " Brandon Williams
2017-05-31 21:44 ` [PATCH 18/31] convert: convert convert_to_git " Brandon Williams
2017-05-31 21:44 ` [PATCH 19/31] convert: convert renormalize_buffer " Brandon Williams
2017-05-31 21:44 ` [PATCH 20/31] tree: convert read_tree to take an index parameter Brandon Williams
2017-05-31 21:44 ` [PATCH 21/31] ls-files: convert overlay_tree_on_cache to take an index Brandon Williams
2017-05-31 21:44 ` [PATCH 22/31] ls-files: convert write_eolinfo " Brandon Williams
2017-05-31 21:44 ` [PATCH 23/31] ls-files: convert show_killed_files " Brandon Williams
2017-05-31 21:44 ` [PATCH 24/31] ls-files: convert show_other_files " Brandon Williams
2017-05-31 21:44 ` [PATCH 25/31] ls-files: convert show_ru_info " Brandon Williams
2017-05-31 21:44 ` [PATCH 26/31] ls-files: convert ce_excluded " Brandon Williams
2017-05-31 21:44 ` [PATCH 27/31] ls-files: convert prune_cache " Brandon Williams
2017-05-31 21:44 ` [PATCH 28/31] ls-files: convert show_files " Brandon Williams
2017-05-31 21:44 ` [PATCH 29/31] ls-files: factor out debug info into a function Brandon Williams
2017-05-31 21:44 ` [PATCH 30/31] ls-files: factor out tag calculation Brandon Williams
2017-05-31 21:44 ` [PATCH 31/31] ls-files: use repository object Brandon Williams
2017-06-01 20:36 ` Stefan Beller
2017-06-05 17:46 ` Brandon Williams
2017-05-31 22:56 ` [PATCH 00/31] " Stefan Beller
2017-05-31 23:01 ` Brandon Williams
2017-06-01 18:10 ` Brandon Williams
2017-06-01 18:28 ` Stefan Beller
2017-06-01 20:03 ` Jacob Keller
2017-06-08 23:40 ` [PATCH v2 00/32] " Brandon Williams
2017-06-08 23:40 ` [PATCH v2 01/32] config: create config.h Brandon Williams
2017-06-08 23:40 ` [PATCH v2 02/32] config: remove git_config_iter Brandon Williams
2017-06-08 23:40 ` [PATCH v2 03/32] config: don't include config.h by default Brandon Williams
2017-06-08 23:40 ` [PATCH v2 04/32] config: don't implicitly use gitdir Brandon Williams
2017-06-12 19:57 ` Brandon Williams
2017-06-08 23:40 ` [PATCH v2 05/32] setup: don't perform lazy initialization of repository state Brandon Williams
2017-06-08 23:40 ` [PATCH v2 06/32] environment: remove namespace_len variable Brandon Williams
2017-06-08 23:40 ` [PATCH v2 07/32] repository: introduce the repository object Brandon Williams
2017-06-09 8:53 ` [PATCH 0/2] Add a freez() wrapper Ævar Arnfjörð Bjarmason
2017-06-09 14:53 ` Brandon Williams
2017-06-09 22:04 ` [PATCH v2 0/2] Add a FREEZ() wrapper macro Ævar Arnfjörð Bjarmason
2017-06-09 22:04 ` [PATCH v2 1/2] git-compat-util: add a FREEZ() wrapper around free(ptr); ptr = NULL Ævar Arnfjörð Bjarmason
2017-06-09 22:27 ` Jonathan Nieder
2017-06-09 23:37 ` Eric Wong
2017-06-10 1:40 ` Junio C Hamano
2017-06-10 3:21 ` Eric Wong
2017-06-10 7:25 ` Jeff King
2017-06-15 16:48 ` Junio C Hamano
2017-06-15 17:13 ` Ævar Arnfjörð Bjarmason
2017-06-15 21:06 ` [PATCH v3 0/2] Add a FREE_AND_NULL() wrapper macro Ævar Arnfjörð Bjarmason
2017-06-15 22:00 ` Junio C Hamano
2017-06-15 23:15 ` [PATCH v4 0/6] " Ævar Arnfjörð Bjarmason
2017-06-15 23:15 ` [PATCH v4 1/6] git-compat-util: add a FREE_AND_NULL() wrapper around free(ptr); ptr = NULL Ævar Arnfjörð Bjarmason
2017-06-15 23:15 ` [PATCH v4 2/6] coccinelle: add a rule to make "type" code use FREE_AND_NULL() Ævar Arnfjörð Bjarmason
2017-06-15 23:15 ` [PATCH v4 3/6] coccinelle: make use of the "type" FREE_AND_NULL() rule Ævar Arnfjörð Bjarmason
2017-06-15 23:15 ` [PATCH v4 4/6] coccinelle: add a rule to make "expression" code use FREE_AND_NULL() Ævar Arnfjörð Bjarmason
2017-06-16 19:43 ` Junio C Hamano
2017-06-25 8:01 ` René Scharfe
2017-06-28 21:39 ` Ævar Arnfjörð Bjarmason
2017-06-28 22:00 ` Junio C Hamano
2017-06-28 22:17 ` Ævar Arnfjörð Bjarmason
2017-06-28 22:21 ` René Scharfe
2017-06-28 22:30 ` Ævar Arnfjörð Bjarmason
2017-06-28 23:15 ` Junio C Hamano
2017-06-28 22:30 ` René Scharfe
2017-06-28 22:35 ` Ævar Arnfjörð Bjarmason
2017-06-28 22:44 ` René Scharfe
2017-06-15 23:15 ` [PATCH v4 5/6] coccinelle: make use of the "expression" FREE_AND_NULL() rule Ævar Arnfjörð Bjarmason
2017-06-15 23:15 ` [PATCH v4 6/6] *.[ch] refactoring: make use of the FREE_AND_NULL() macro Ævar Arnfjörð Bjarmason
2017-06-15 21:06 ` [PATCH v3 1/2] git-compat-util: add a FREE_AND_NULL() wrapper around free(ptr); ptr = NULL Ævar Arnfjörð Bjarmason
2017-06-15 21:07 ` Ævar Arnfjörð Bjarmason [this message]
2017-06-10 6:55 ` [PATCH v2 1/2] git-compat-util: add a FREEZ() " Andreas Schwab
2017-06-09 22:04 ` [PATCH v2 2/2] *.[ch] refactoring: make use of the FREEZ() macro Ævar Arnfjörð Bjarmason
2017-06-09 8:53 ` [PATCH 1/2] git-compat-util: add a freez() wrapper around free(x); x = NULL Ævar Arnfjörð Bjarmason
2017-06-09 12:04 ` Christian Couder
2017-06-09 8:53 ` [PATCH 2/2] *.[ch] refactoring: make use of the freez() wrapper Ævar Arnfjörð Bjarmason
2017-06-09 10:12 ` Martin Ågren
2017-06-09 10:58 ` Ævar Arnfjörð Bjarmason
2017-06-09 14:48 ` Brandon Williams
2017-06-08 23:40 ` [PATCH v2 08/32] environment: place key repository state in the_repository Brandon Williams
2017-06-08 23:40 ` [PATCH v2 09/32] environment: store worktree " Brandon Williams
2017-06-08 23:40 ` [PATCH v2 10/32] setup: add comment indicating a hack Brandon Williams
2017-06-08 23:40 ` [PATCH v2 11/32] config: read config from a repository object Brandon Williams
2017-06-08 23:40 ` [PATCH v2 12/32] repository: add index_state to struct repo Brandon Williams
2017-06-08 23:40 ` [PATCH v2 13/32] submodule-config: store the_submodule_cache in the_repository Brandon Williams
2017-06-08 23:40 ` [PATCH v2 14/32] submodule: add repo_read_gitmodules Brandon Williams
2017-06-08 23:40 ` [PATCH v2 15/32] submodule: convert is_submodule_initialized to work on a repository Brandon Williams
2017-06-08 23:40 ` [PATCH v2 16/32] convert: convert get_cached_convert_stats_ascii to take an index Brandon Williams
2017-06-08 23:40 ` [PATCH v2 17/32] convert: convert crlf_to_git " Brandon Williams
2017-06-08 23:40 ` [PATCH v2 18/32] convert: convert convert_to_git_filter_fd " Brandon Williams
2017-06-08 23:40 ` [PATCH v2 19/32] convert: convert convert_to_git " Brandon Williams
2017-06-08 23:40 ` [PATCH v2 20/32] convert: convert renormalize_buffer " Brandon Williams
2017-06-08 23:40 ` [PATCH v2 21/32] tree: convert read_tree to take an index parameter Brandon Williams
2017-06-08 23:40 ` [PATCH v2 22/32] ls-files: convert overlay_tree_on_cache to take an index Brandon Williams
2017-06-08 23:40 ` [PATCH v2 23/32] ls-files: convert write_eolinfo " Brandon Williams
2017-06-08 23:40 ` [PATCH v2 24/32] ls-files: convert show_killed_files " Brandon Williams
2017-06-08 23:40 ` [PATCH v2 25/32] ls-files: convert show_other_files " Brandon Williams
2017-06-08 23:40 ` [PATCH v2 26/32] ls-files: convert show_ru_info " Brandon Williams
2017-06-08 23:40 ` [PATCH v2 27/32] ls-files: convert ce_excluded " Brandon Williams
2017-06-08 23:40 ` [PATCH v2 28/32] ls-files: convert prune_cache " Brandon Williams
2017-06-08 23:40 ` [PATCH v2 29/32] ls-files: convert show_files " Brandon Williams
2017-06-08 23:40 ` [PATCH v2 30/32] ls-files: factor out debug info into a function Brandon Williams
2017-06-08 23:40 ` [PATCH v2 31/32] ls-files: factor out tag calculation Brandon Williams
2017-06-08 23:41 ` [PATCH v2 32/32] ls-files: use repository object Brandon Williams
2017-06-09 0:08 ` Brandon Williams
2017-06-10 5:59 ` Junio C Hamano
2017-06-12 21:24 ` Brandon Williams
2017-06-10 0:40 ` [PATCH v2 00/32] " Jonathan Tan
2017-06-10 6:07 ` Jeff King
2017-06-10 6:13 ` Jeff King
2017-06-11 0:43 ` Brandon Williams
2017-06-12 19:10 ` Jonathan Tan
2017-06-11 0:35 ` Brandon Williams
2017-06-12 5:24 ` Stefan Beller
2017-06-12 21:23 ` Jeff King
2017-06-12 19:01 ` Jonathan Tan
2017-06-12 19:11 ` Brandon Williams
2017-06-12 20:04 ` Jonathan Tan
2017-06-12 21:28 ` Jeff King
2017-06-20 19:19 ` [PATCH v3 00/20] " Brandon Williams
2017-06-20 19:19 ` [PATCH v3 01/20] setup: don't perform lazy initialization of repository state Brandon Williams
2017-06-20 19:19 ` [PATCH v3 02/20] setup: add comment indicating a hack Brandon Williams
2017-06-20 19:19 ` [PATCH v3 03/20] environment: remove namespace_len variable Brandon Williams
2017-06-20 19:19 ` [PATCH v3 04/20] repository: introduce the repository object Brandon Williams
2017-06-20 19:57 ` Stefan Beller
2017-06-21 21:27 ` Brandon Williams
2017-06-21 21:31 ` Stefan Beller
2017-06-20 21:31 ` Jonathan Tan
2017-06-20 21:56 ` Brandon Williams
2017-06-20 19:19 ` [PATCH v3 05/20] environment: place key repository state in the_repository Brandon Williams
2017-06-20 21:59 ` Jonathan Tan
2017-06-20 19:19 ` [PATCH v3 06/20] environment: store worktree " Brandon Williams
2017-06-20 19:19 ` [PATCH v3 07/20] path: create path.h Brandon Williams
2017-06-20 19:19 ` [PATCH v3 08/20] path: always pass in commondir to update_common_dir Brandon Williams
2017-06-20 19:19 ` [PATCH v3 09/20] path: convert strbuf_git_common_path to take a 'struct repository' Brandon Williams
2017-06-20 19:19 ` [PATCH v3 10/20] path: convert do_git_path " Brandon Williams
2017-06-20 22:23 ` Jonathan Tan
2017-06-21 21:20 ` Brandon Williams
2017-06-20 19:19 ` [PATCH v3 11/20] path: construct correct path to a worktree's index Brandon Williams
2017-06-20 21:10 ` Stefan Beller
2017-06-20 23:02 ` Jonathan Nieder
2017-06-21 0:39 ` Brandon Williams
2017-06-21 2:10 ` Jonathan Nieder
2017-06-21 2:30 ` Jonathan Nieder
2017-06-21 15:43 ` Brandon Williams
2017-06-21 17:57 ` Jonathan Nieder
2017-06-21 18:48 ` Junio C Hamano
2017-06-20 19:19 ` [PATCH v3 12/20] path: add repo_git_path and strbuf_repo_git_path Brandon Williams
2017-06-20 19:19 ` [PATCH v3 13/20] path: add repo_worktree_path and strbuf_repo_worktree_path Brandon Williams
2017-06-20 19:19 ` [PATCH v3 14/20] config: read config from a repository object Brandon Williams
2017-06-20 19:19 ` [PATCH v3 15/20] repository: add index_state to struct repo Brandon Williams
2017-06-21 22:50 ` Jonathan Tan
2017-06-21 22:54 ` Brandon Williams
2017-06-21 23:00 ` Stefan Beller
2017-06-20 19:19 ` [PATCH v3 16/20] submodule-config: store the_submodule_cache in the_repository Brandon Williams
2017-06-20 19:19 ` [PATCH v3 17/20] submodule: add repo_read_gitmodules Brandon Williams
2017-06-20 19:19 ` [PATCH v3 18/20] submodule: convert is_submodule_initialized to work on a repository Brandon Williams
2017-06-20 19:19 ` [PATCH v3 19/20] repository: enable initialization of submodules Brandon Williams
2017-06-21 23:00 ` Jonathan Tan
2017-06-21 23:09 ` Brandon Williams
2017-06-20 19:19 ` [PATCH v3 20/20] ls-files: use repository object Brandon Williams
2017-06-21 22:48 ` Jonathan Tan
2017-06-20 19:23 ` [PATCH v3 00/20] " Stefan Beller
2017-06-22 18:43 ` [PATCH v4 " Brandon Williams
2017-06-22 18:43 ` [PATCH v4 01/20] setup: don't perform lazy initialization of repository state Brandon Williams
2017-06-22 18:43 ` [PATCH v4 02/20] setup: add comment indicating a hack Brandon Williams
2017-06-22 18:43 ` [PATCH v4 03/20] environment: remove namespace_len variable Brandon Williams
2017-06-22 18:43 ` [PATCH v4 04/20] repository: introduce the repository object Brandon Williams
2017-06-22 18:43 ` [PATCH v4 05/20] environment: place key repository state in the_repository Brandon Williams
2017-06-22 18:43 ` [PATCH v4 06/20] environment: store worktree " Brandon Williams
2017-06-22 18:43 ` [PATCH v4 07/20] path: create path.h Brandon Williams
2017-06-22 18:43 ` [PATCH v4 08/20] path: always pass in commondir to update_common_dir Brandon Williams
2017-06-22 18:43 ` [PATCH v4 09/20] path: convert strbuf_git_common_path to take a 'struct repository' Brandon Williams
2017-06-22 18:43 ` [PATCH v4 10/20] path: convert do_git_path " Brandon Williams
2017-06-22 18:43 ` [PATCH v4 11/20] path: worktree_git_path() should not use file relocation Brandon Williams
2017-06-22 18:43 ` [PATCH v4 12/20] path: add repo_git_path and strbuf_repo_git_path Brandon Williams
2017-06-22 18:43 ` [PATCH v4 13/20] path: add repo_worktree_path and strbuf_repo_worktree_path Brandon Williams
2017-06-22 18:43 ` [PATCH v4 14/20] config: read config from a repository object Brandon Williams
2017-06-22 18:43 ` [PATCH v4 15/20] repository: add index_state to struct repo Brandon Williams
2017-06-22 20:16 ` Junio C Hamano
2017-06-22 20:35 ` Brandon Williams
2017-06-22 22:10 ` Junio C Hamano
2017-06-22 18:43 ` [PATCH v4 16/20] submodule-config: store the_submodule_cache in the_repository Brandon Williams
2017-06-22 18:43 ` [PATCH v4 17/20] submodule: add repo_read_gitmodules Brandon Williams
2017-06-22 18:43 ` [PATCH v4 18/20] submodule: convert is_submodule_initialized to work on a repository Brandon Williams
2017-06-22 18:43 ` [PATCH v4 19/20] repository: enable initialization of submodules Brandon Williams
2017-06-22 18:43 ` [PATCH v4 20/20] ls-files: use repository object Brandon Williams
2017-06-22 19:42 ` [PATCH v4 00/20] " Stefan Beller
2017-06-23 16:44 ` Jeff Hostetler
2017-06-23 17:38 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170615210700.16310-3-avarab@gmail.com \
--to=avarab@gmail.com \
--cc=bmwill@google.com \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=martin.agren@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.