git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
	"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH v4 3/6] coccinelle: make use of the "type" FREE_AND_NULL() rule
Date: Thu, 15 Jun 2017 23:15:46 +0000	[thread overview]
Message-ID: <20170615231549.20085-4-avarab@gmail.com> (raw)
In-Reply-To: <20170615231549.20085-1-avarab@gmail.com>
In-Reply-To: <xmqqa858zzb3.fsf@gitster.mtv.corp.google.com>

Apply the result of the just-added coccinelle rule. This manually
excludes a few occurrences, mostly things that resulted in many
FREE_AND_NULL() on one line, that'll be manually fixed in a subsequent
change.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 alias.c                  |  6 ++----
 apply.c                  |  3 +--
 attr.c                   |  6 ++----
 branch.c                 |  3 +--
 builtin/am.c             |  3 +--
 builtin/clean.c          |  6 ++----
 builtin/config.c         |  6 ++----
 builtin/index-pack.c     |  6 ++----
 builtin/pack-objects.c   | 12 ++++--------
 builtin/unpack-objects.c |  3 +--
 commit.c                 |  3 +--
 config.c                 |  3 +--
 credential.c             |  3 +--
 diff-lib.c               |  3 +--
 diff.c                   |  6 ++----
 diffcore-rename.c        |  6 ++----
 dir.c                    |  9 +++------
 fast-import.c            |  6 ++----
 grep.c                   |  3 +--
 http-push.c              | 24 ++++++++----------------
 http.c                   | 15 +++++----------
 imap-send.c              |  3 +--
 line-log.c               |  3 +--
 mailinfo.c               |  3 +--
 object.c                 |  3 +--
 pathspec.c               |  3 +--
 read-cache.c             |  6 ++----
 ref-filter.c             |  3 +--
 refs/files-backend.c     |  3 +--
 remote-testsvn.c         |  3 +--
 sequencer.c              |  3 +--
 sha1-array.c             |  3 +--
 sha1_file.c              |  3 +--
 transport-helper.c       | 27 +++++++++------------------
 transport.c              |  3 +--
 tree-diff.c              |  6 ++----
 tree.c                   |  3 +--
 37 files changed, 71 insertions(+), 142 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/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..138fb98537 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"));
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/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..0ab247ff40 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);
 	}
 }
 
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/grep.c b/grep.c
index d03d424e5c..11513ec06d 100644
--- a/grep.c
+++ b/grep.c
@@ -1778,8 +1778,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/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..79eded7363 100644
--- a/line-log.c
+++ b/line-log.c
@@ -610,8 +610,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/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/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/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/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/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.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


  parent reply	other threads:[~2017-06-15 23:16 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                           ` Ævar Arnfjörð Bjarmason [this message]
2017-06-15 23:15                           ` [PATCH v4 4/6] coccinelle: add a rule to make "expression" " Æ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                       ` [PATCH v3 2/2] *.[ch] refactoring: make use of the FREE_AND_NULL() macro Ævar Arnfjörð Bjarmason
2017-06-10  6:55           ` [PATCH v2 1/2] git-compat-util: add a FREEZ() wrapper around free(ptr); ptr = NULL 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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170615231549.20085-4-avarab@gmail.com \
    --to=avarab@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).