diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-11-27 19:24:36 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-11-27 19:24:36 -0800 |
commit | 2d2b3fd8485eee6dd238b930f2592535730089a4 (patch) | |
tree | 642dc8866db7840ef247164bee3435cf805ee03e /ll-merge.c | |
parent | 14de7393f1eca05c99f785cc2f43281da2c46e9e (diff) | |
parent | 7de1950cb28cee7d6b1e9cdaf22f30ddcdc5bd01 (diff) | |
download | git-2d2b3fd8485eee6dd238b930f2592535730089a4.tar.gz git-2d2b3fd8485eee6dd238b930f2592535730089a4.tar.xz |
Merge branch 'rs/strbuf-expand'
* rs/strbuf-expand:
remove the unused files interpolate.c and interpolate.h
daemon: deglobalize variable 'directory'
daemon: inline fill_in_extra_table_entries()
daemon: use strbuf_expand() instead of interpolate()
merge-recursive: use strbuf_expand() instead of interpolate()
add strbuf_expand_dict_cb(), a helper for simple cases
Diffstat (limited to 'll-merge.c')
-rw-r--r-- | ll-merge.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/ll-merge.c b/ll-merge.c index 4a716146f..fa2ca5250 100644 --- a/ll-merge.c +++ b/ll-merge.c @@ -8,7 +8,6 @@ #include "attr.h" #include "xdiff-interface.h" #include "run-command.h" -#include "interpolate.h" #include "ll-merge.h" struct ll_merge_driver; @@ -169,11 +168,12 @@ static int ll_ext_merge(const struct ll_merge_driver *fn, int virtual_ancestor) { char temp[3][50]; - char cmdbuf[2048]; - struct interp table[] = { - { "%O" }, - { "%A" }, - { "%B" }, + struct strbuf cmd = STRBUF_INIT; + struct strbuf_expand_dict_entry dict[] = { + { "O", temp[0] }, + { "A", temp[1] }, + { "B", temp[2] }, + { NULL } }; struct child_process child; const char *args[20]; @@ -189,17 +189,13 @@ static int ll_ext_merge(const struct ll_merge_driver *fn, create_temp(src1, temp[1]); create_temp(src2, temp[2]); - interp_set_entry(table, 0, temp[0]); - interp_set_entry(table, 1, temp[1]); - interp_set_entry(table, 2, temp[2]); - - interpolate(cmdbuf, sizeof(cmdbuf), fn->cmdline, table, 3); + strbuf_expand(&cmd, fn->cmdline, strbuf_expand_dict_cb, &dict); memset(&child, 0, sizeof(child)); child.argv = args; args[0] = "sh"; args[1] = "-c"; - args[2] = cmdbuf; + args[2] = cmd.buf; args[3] = NULL; status = run_command(&child); @@ -224,6 +220,7 @@ static int ll_ext_merge(const struct ll_merge_driver *fn, bad: for (i = 0; i < 3; i++) unlink(temp[i]); + strbuf_release(&cmd); return status; } |