use DUP_ARRAY
Add a semantic patch for replace ALLOC_ARRAY+COPY_ARRAY with DUP_ARRAY to reduce code duplication and apply its results. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
d2ec87a684
commit
6e57841096
3
attr.c
3
attr.c
@ -599,8 +599,7 @@ struct attr_check *attr_check_dup(const struct attr_check *check)
|
||||
|
||||
ret->nr = check->nr;
|
||||
ret->alloc = check->alloc;
|
||||
ALLOC_ARRAY(ret->items, ret->nr);
|
||||
COPY_ARRAY(ret->items, check->items, ret->nr);
|
||||
DUP_ARRAY(ret->items, check->items, ret->nr);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -1489,8 +1489,7 @@ static int run_apply(const struct am_state *state, const char *index_file)
|
||||
* apply_opts.v keeps referencing the allocated strings for
|
||||
* strvec_clear() to release.
|
||||
*/
|
||||
ALLOC_ARRAY(apply_argv, apply_opts.nr);
|
||||
COPY_ARRAY(apply_argv, apply_opts.v, apply_opts.nr);
|
||||
DUP_ARRAY(apply_argv, apply_opts.v, apply_opts.nr);
|
||||
|
||||
opts_left = apply_parse_options(apply_opts.nr, apply_argv,
|
||||
&apply_state, &force_apply, &options,
|
||||
|
@ -1594,8 +1594,7 @@ static void compute_bloom_filters(struct write_commit_graph_context *ctx)
|
||||
_("Computing commit changed paths Bloom filters"),
|
||||
ctx->commits.nr);
|
||||
|
||||
ALLOC_ARRAY(sorted_commits, ctx->commits.nr);
|
||||
COPY_ARRAY(sorted_commits, ctx->commits.list, ctx->commits.nr);
|
||||
DUP_ARRAY(sorted_commits, ctx->commits.list, ctx->commits.nr);
|
||||
|
||||
if (ctx->order_by_pack)
|
||||
QSORT(sorted_commits, ctx->commits.nr, commit_pos_cmp);
|
||||
|
@ -245,8 +245,7 @@ static int remove_redundant_with_gen(struct repository *r,
|
||||
* min_gen_pos points to the current position within 'array'
|
||||
* that is not yet known to be STALE.
|
||||
*/
|
||||
ALLOC_ARRAY(sorted, cnt);
|
||||
COPY_ARRAY(sorted, array, cnt);
|
||||
DUP_ARRAY(sorted, array, cnt);
|
||||
QSORT(sorted, cnt, compare_commits_by_gen);
|
||||
min_generation = commit_graph_generation(sorted[0]);
|
||||
|
||||
|
@ -1396,8 +1396,7 @@ static wchar_t *make_environment_block(char **deltaenv)
|
||||
p += s;
|
||||
}
|
||||
|
||||
ALLOC_ARRAY(result, size);
|
||||
COPY_ARRAY(result, wenv, size);
|
||||
DUP_ARRAY(result, wenv, size);
|
||||
FreeEnvironmentStringsW(wenv);
|
||||
return result;
|
||||
}
|
||||
|
@ -94,3 +94,10 @@ expression n != 1;
|
||||
@@
|
||||
- ptr = xcalloc(n, \( sizeof(*ptr) \| sizeof(T) \) )
|
||||
+ CALLOC_ARRAY(ptr, n)
|
||||
|
||||
@@
|
||||
expression dst, src, n;
|
||||
@@
|
||||
-ALLOC_ARRAY(dst, n);
|
||||
-COPY_ARRAY(dst, src, n);
|
||||
+DUP_ARRAY(dst, src, n);
|
||||
|
@ -702,8 +702,7 @@ static struct option *preprocess_options(struct parse_opt_ctx_t *ctx,
|
||||
if (!nr_aliases)
|
||||
return NULL;
|
||||
|
||||
ALLOC_ARRAY(newopt, nr + 1);
|
||||
COPY_ARRAY(newopt, options, nr + 1);
|
||||
DUP_ARRAY(newopt, options, nr + 1);
|
||||
|
||||
/* each alias has two string pointers and NULL */
|
||||
CALLOC_ARRAY(ctx->alias_groups, 3 * (nr_aliases + 1));
|
||||
|
@ -681,8 +681,7 @@ void copy_pathspec(struct pathspec *dst, const struct pathspec *src)
|
||||
int i, j;
|
||||
|
||||
*dst = *src;
|
||||
ALLOC_ARRAY(dst->items, dst->nr);
|
||||
COPY_ARRAY(dst->items, src->items, dst->nr);
|
||||
DUP_ARRAY(dst->items, src->items, dst->nr);
|
||||
|
||||
for (i = 0; i < dst->nr; i++) {
|
||||
struct pathspec_item *d = &dst->items[i];
|
||||
@ -691,8 +690,7 @@ void copy_pathspec(struct pathspec *dst, const struct pathspec *src)
|
||||
d->match = xstrdup(s->match);
|
||||
d->original = xstrdup(s->original);
|
||||
|
||||
ALLOC_ARRAY(d->attr_match, d->attr_match_nr);
|
||||
COPY_ARRAY(d->attr_match, s->attr_match, d->attr_match_nr);
|
||||
DUP_ARRAY(d->attr_match, s->attr_match, d->attr_match_nr);
|
||||
for (j = 0; j < d->attr_match_nr; j++) {
|
||||
const char *value = s->attr_match[j].value;
|
||||
d->attr_match[j].value = xstrdup_or_null(value);
|
||||
|
Loading…
Reference in New Issue
Block a user