summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2014-05-15 04:41:03 -0400
committerJunio C Hamano <gitster@pobox.com>2014-05-15 09:49:12 -0700
commitff857e4ee8680af3988aff3383b1158f396a6fb2 (patch)
treea8dd6bb9c85cd553b4168210de4fdcaec562de18
parent173fd1a1a44b89a204eb1289e4ff1f9d733e0cf1 (diff)
downloadgit-ff857e4ee8680af3988aff3383b1158f396a6fb2.tar.gz
argv-array: drop "detach" codejk/argv-array-for-child-process
The argv_array_detach function (and associated free() function) was really only useful for transferring ownership of the memory to a "struct child_process". Now that we have an internal argv_array in that struct, there are no callers left. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--Documentation/technical/api-argv-array.txt8
-rw-r--r--argv-array.c20
-rw-r--r--argv-array.h2
3 files changed, 0 insertions, 30 deletions
diff --git a/Documentation/technical/api-argv-array.txt b/Documentation/technical/api-argv-array.txt
index a6b7d83a8e..1a797812fb 100644
--- a/Documentation/technical/api-argv-array.txt
+++ b/Documentation/technical/api-argv-array.txt
@@ -53,11 +53,3 @@ Functions
`argv_array_clear`::
Free all memory associated with the array and return it to the
initial, empty state.
-
-`argv_array_detach`::
- Detach the argv array from the `struct argv_array`, transferring
- ownership of the allocated array and strings.
-
-`argv_array_free_detached`::
- Free the memory allocated by a `struct argv_array` that was later
- detached and is now no longer needed.
diff --git a/argv-array.c b/argv-array.c
index 9e960d549c..256741d226 100644
--- a/argv-array.c
+++ b/argv-array.c
@@ -68,23 +68,3 @@ void argv_array_clear(struct argv_array *array)
}
argv_array_init(array);
}
-
-const char **argv_array_detach(struct argv_array *array, int *argc)
-{
- const char **argv =
- array->argv == empty_argv || array->argc == 0 ? NULL : array->argv;
- if (argc)
- *argc = array->argc;
- argv_array_init(array);
- return argv;
-}
-
-void argv_array_free_detached(const char **argv)
-{
- if (argv) {
- int i;
- for (i = 0; argv[i]; i++)
- free((char **)argv[i]);
- free(argv);
- }
-}
diff --git a/argv-array.h b/argv-array.h
index 85ba438ac1..c65e6e825a 100644
--- a/argv-array.h
+++ b/argv-array.h
@@ -19,7 +19,5 @@ LAST_ARG_MUST_BE_NULL
void argv_array_pushl(struct argv_array *, ...);
void argv_array_pop(struct argv_array *);
void argv_array_clear(struct argv_array *);
-const char **argv_array_detach(struct argv_array *array, int *argc);
-void argv_array_free_detached(const char **argv);
#endif /* ARGV_ARRAY_H */