Am 20.10.2014 um 11:19 schrieb Jeff King:
On Sun, Oct 19, 2014 at 01:14:20PM +0200, René Scharfe wrote:
--- a/wt-status.c
+++ b/wt-status.c
@@ -726,14 +726,14 @@ static void wt_status_print_changed(struct wt_status
*s)
static void wt_status_print_submodule_summary(struct wt_status *s, int
uncommitted)
{
struct child_process sm_summary = CHILD_PROCESS_INIT;
-struct argv_array env = ARGV_ARRAY_INIT;
struct argv_array argv = ARGV_ARRAY_INIT;
I don't think it belongs in this patch, but a follow-on 3/2 might be to
give argv the same treatment.
Yes, good idea.
-- 8 --
Subject: [PATCH] use args member of struct child_process
Convert users of struct child_process to using the managed argv_array
args instead of providing their own. This shortens the code a bit and
ensures that the allocated memory is released automatically after use.
Suggested-by: Jeff King p...@peff.net
Signed-off-by: Rene Scharfe l@web.de
---
builtin/repack.c | 47 ++-
wt-status.c | 17 +++--
2 files changed, 29 insertions(+), 35 deletions(-)
diff --git a/builtin/repack.c b/builtin/repack.c
index 2845620..83e91c7 100644
--- a/builtin/repack.c
+++ b/builtin/repack.c
@@ -135,7 +135,6 @@ int cmd_repack(int argc, const char **argv, const char
*prefix)
};
struct child_process cmd = CHILD_PROCESS_INIT;
struct string_list_item *item;
- struct argv_array cmd_args = ARGV_ARRAY_INIT;
struct string_list names = STRING_LIST_INIT_DUP;
struct string_list rollback = STRING_LIST_INIT_NODUP;
struct string_list existing_packs = STRING_LIST_INIT_DUP;
@@ -202,56 +201,55 @@ int cmd_repack(int argc, const char **argv, const char
*prefix)
sigchain_push_common(remove_pack_on_signal);
- argv_array_push(cmd_args, pack-objects);
- argv_array_push(cmd_args, --keep-true-parents);
+ argv_array_push(cmd.args, pack-objects);
+ argv_array_push(cmd.args, --keep-true-parents);
if (!pack_kept_objects)
- argv_array_push(cmd_args, --honor-pack-keep);
- argv_array_push(cmd_args, --non-empty);
- argv_array_push(cmd_args, --all);
- argv_array_push(cmd_args, --reflog);
- argv_array_push(cmd_args, --indexed-objects);
+ argv_array_push(cmd.args, --honor-pack-keep);
+ argv_array_push(cmd.args, --non-empty);
+ argv_array_push(cmd.args, --all);
+ argv_array_push(cmd.args, --reflog);
+ argv_array_push(cmd.args, --indexed-objects);
if (window)
- argv_array_pushf(cmd_args, --window=%s, window);
+ argv_array_pushf(cmd.args, --window=%s, window);
if (window_memory)
- argv_array_pushf(cmd_args, --window-memory=%s,
window_memory);
+ argv_array_pushf(cmd.args, --window-memory=%s,
window_memory);
if (depth)
- argv_array_pushf(cmd_args, --depth=%s, depth);
+ argv_array_pushf(cmd.args, --depth=%s, depth);
if (max_pack_size)
- argv_array_pushf(cmd_args, --max-pack-size=%s,
max_pack_size);
+ argv_array_pushf(cmd.args, --max-pack-size=%s,
max_pack_size);
if (no_reuse_delta)
- argv_array_pushf(cmd_args, --no-reuse-delta);
+ argv_array_pushf(cmd.args, --no-reuse-delta);
if (no_reuse_object)
- argv_array_pushf(cmd_args, --no-reuse-object);
+ argv_array_pushf(cmd.args, --no-reuse-object);
if (write_bitmaps)
- argv_array_push(cmd_args, --write-bitmap-index);
+ argv_array_push(cmd.args, --write-bitmap-index);
if (pack_everything ALL_INTO_ONE) {
get_non_kept_pack_filenames(existing_packs);
if (existing_packs.nr delete_redundant) {
if (unpack_unreachable)
- argv_array_pushf(cmd_args,
+ argv_array_pushf(cmd.args,
--unpack-unreachable=%s,
unpack_unreachable);
else if (pack_everything LOOSEN_UNREACHABLE)
- argv_array_push(cmd_args,
+ argv_array_push(cmd.args,
--unpack-unreachable);
}
} else {
- argv_array_push(cmd_args, --unpacked);
- argv_array_push(cmd_args, --incremental);
+ argv_array_push(cmd.args, --unpacked);
+ argv_array_push(cmd.args, --incremental);
}
if (local)
- argv_array_push(cmd_args, --local);
+ argv_array_push(cmd.args, --local);
if (quiet)
- argv_array_push(cmd_args, --quiet);
+ argv_array_push(cmd.args, --quiet);
if (delta_base_offset)
-