Re: [PATCH v2 2/4] combine-diff.c: refactor: extract insert_path()

2015-04-11 Thread Junio C Hamano
Max Kirillov m...@max630.net writes:

 Signed-off-by: Max Kirillov m...@max630.net
 ---
  combine-diff.c | 43 ---
  1 file changed, 24 insertions(+), 19 deletions(-)

 diff --git a/combine-diff.c b/combine-diff.c
 index 8eb7278..a236bb5 100644
 --- a/combine-diff.c
 +++ b/combine-diff.c
 @@ -22,6 +22,28 @@ static int compare_paths(const struct combine_diff_path 
 *one,
two-path, strlen(two-path), two-mode);
  }
  
 +static void insert_path(struct combine_diff_path **pos, const char* path, 
 int n, int num_parent, struct diff_filepair *queue_item)

This is overlong (and I wonder why I am not seeing the linewrap
problem with this one).  I'd suggest to split them perhaps in the
same way that compare_paths() match_string_spaces() and other
existing functions are defined?

Also the pointer-asterisk sticks to the variable name, not type,
i.e.

static void insert_path(struct combine_diff_path **pos, const char 
*path,
int n, int num_parent,
struct diff_filepair *queue_item)


 +{

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 2/4] combine-diff.c: refactor: extract insert_path()

2015-04-03 Thread Max Kirillov
Signed-off-by: Max Kirillov m...@max630.net
---
 combine-diff.c | 43 ---
 1 file changed, 24 insertions(+), 19 deletions(-)

diff --git a/combine-diff.c b/combine-diff.c
index 8eb7278..a236bb5 100644
--- a/combine-diff.c
+++ b/combine-diff.c
@@ -22,6 +22,28 @@ static int compare_paths(const struct combine_diff_path *one,
 two-path, strlen(two-path), two-mode);
 }
 
+static void insert_path(struct combine_diff_path **pos, const char* path, int 
n, int num_parent, struct diff_filepair *queue_item)
+{
+   int len;
+   struct combine_diff_path *p;
+
+   len = strlen(path);
+   p = xmalloc(combine_diff_path_size(num_parent, len));
+   p-path = (char *) (p-parent[num_parent]);
+   memcpy(p-path, path, len);
+   p-path[len] = 0;
+   p-next = *pos;
+   memset(p-parent, 0,
+  sizeof(p-parent[0]) * num_parent);
+
+   hashcpy(p-oid.hash, queue_item-two-sha1);
+   p-mode = queue_item-two-mode;
+   hashcpy(p-parent[n].oid.hash, queue_item-one-sha1);
+   p-parent[n].mode = queue_item-one-mode;
+   p-parent[n].status = queue_item-status;
+   *pos = p;
+}
+
 static struct combine_diff_path *intersect_paths(struct combine_diff_path 
*curr, int n, int num_parent)
 {
struct diff_queue_struct *q = diff_queued_diff;
@@ -30,27 +52,10 @@ static struct combine_diff_path *intersect_paths(struct 
combine_diff_path *curr,
 
if (!n) {
for (i = 0; i  q-nr; i++) {
-   int len;
-   const char *path;
if (diff_unmodified_pair(q-queue[i]))
continue;
-   path = q-queue[i]-two-path;
-   len = strlen(path);
-   p = xmalloc(combine_diff_path_size(num_parent, len));
-   p-path = (char *) (p-parent[num_parent]);
-   memcpy(p-path, path, len);
-   p-path[len] = 0;
-   p-next = NULL;
-   memset(p-parent, 0,
-  sizeof(p-parent[0]) * num_parent);
-
-   hashcpy(p-oid.hash, q-queue[i]-two-sha1);
-   p-mode = q-queue[i]-two-mode;
-   hashcpy(p-parent[n].oid.hash, q-queue[i]-one-sha1);
-   p-parent[n].mode = q-queue[i]-one-mode;
-   p-parent[n].status = q-queue[i]-status;
-   *tail = p;
-   tail = p-next;
+   insert_path(tail, q-queue[i]-two-path, n, 
num_parent, q-queue[i]);
+   tail = (*tail)-next;
}
return curr;
}
-- 
2.3.4.2801.g3d0809b

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html