Thread (3 messages) flat view 3 messages, 2 authors, 2016-06-15

Re: [PATCH] fetch: avoid quadratic loop checking for updated submodules

From: Christian Couder <hidden>
Date: 2016-06-15 22:52:01

Hi Peff,

On Mon, Sep 12, 2011 at 9:56 PM, Jeff King [off-list ref] wrote:
quoted hunk ↗ jump to hunk
diff --git a/submodule.c b/submodule.c
index 7a76edf..00aeb71 100644
--- a/submodule.c
+++ b/submodule.c
@@ -8,12 +8,17 @@
 #include "diffcore.h"
 #include "refs.h"
 #include "string-list.h"
+#include "sha1-array.h"
Nice to see you reuse sha1-array!

[...]
+struct argv_array {
+       const char **argv;
+       unsigned int argc;
+       unsigned int alloc;
+};
But there is already such a struct in bisect.c!
+static void init_argv(struct argv_array *array)
+{
+       array->argv = NULL;
+       array->argc = 0;
+       array->alloc = 0;
+}
+
+static void push_argv(struct argv_array *array, const char *value)
+{
+       ALLOC_GROW(array->argv, array->argc + 2, array->alloc);
+       array->argv[array->argc++] = xstrdup(value);
+       array->argv[array->argc] = NULL;
+}
+
+static void clear_argv(struct argv_array *array)
+{
+       int i;
+       for (i = 0; i < array->argc; i++)
+               free((char **)array->argv[i]);
+       free(array->argv);
+       init_argv(array);
+}
+
+static void add_sha1_to_argv(const unsigned char sha1[20], void *data)
+{
+       push_argv(data, sha1_to_hex(sha1));
+}
So it would be nice if you could refactor this and the argv_array
functions in bisect.c in the same way you refactored sha1-array.

Thanks,
Christian.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help