{"thread":{"id":"22827","subject":"[PATCH] refactor commit_graft_pos using general sha1_pos function","startedAt":"2010-02-26T03:04:25Z","lastAt":"2010-02-26T15:42:10Z","messageCount":2,"participants":["jackylee","Tay Ray Chuan"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"135716","messageId":"be6fef0d1002251904q59e12149lc3010b3587b00f8c@mail.gmail.com","threadId":"22827","inReplyTo":"4B87EBD2.3060007@gmail.com","subject":"Re: [PATCH] refactor commit_graft_pos using general sha1_pos function","fromName":"Tay Ray Chuan","fromEmail":"rctay89@gmail.com","sentAt":"2010-02-26T03:04:25Z","receivedAt":"2010-02-26T03:04:25Z","isPatch":true,"sender":{"key":"rctay89@gmail.com","avatar":"https://avatars.githubusercontent.com/u/61553?v=4"},"body":"Hi,\n\nOn Fri, Feb 26, 2010 at 11:42 PM, jackylee <jacky.liye@gmail.com> wrote:\n> code cleanup according to git janitor page, replace sha1 lookup function with \"sha1_pos\" general binary search function\n>\n> Signed-off-by: jacky.liye <jacky.liye@gmail.com>\n\nplease sign off with your real name. See\n\n  http://repo.or.cz/w/git.git?a=blob;f=Documentation/SubmittingPatches;hb=HEAD\n\nfor the importance of the sign-off.\n\n-- \nCheers,\nRay Chuan\n"},{"id":"135715","messageId":"4B87EBD2.3060007@gmail.com","threadId":"22827","inReplyTo":null,"subject":"[PATCH] refactor commit_graft_pos using general sha1_pos function","fromName":"jackylee","fromEmail":"jacky.liye@gmail.com","sentAt":"2010-02-26T15:42:10Z","receivedAt":"2010-02-26T15:42:10Z","isPatch":true,"sender":{"key":"jacky.liye@gmail.com","avatar":null},"body":"code cleanup according to git janitor page, replace sha1 lookup function with \"sha1_pos\" general binary search function\n\nSigned-off-by: jacky.liye <jacky.liye@gmail.com>\n---\n commit.c |   23 +++++++----------------\n 1 files changed, 7 insertions(+), 16 deletions(-)\n\ndiff --git a/commit.c b/commit.c\nindex 731191e..c44d091 100644\n--- a/commit.c\n+++ b/commit.c\n@@ -6,6 +6,7 @@\n #include \"diff.h\"\n #include \"revision.h\"\n #include \"notes.h\"\n+#include \"sha1-lookup.h\"\n \n int save_commit_buffer = 1;\n \n@@ -78,24 +79,14 @@ static unsigned long parse_commit_date(const char *buf, const char *tail)\n \n static struct commit_graft **commit_graft;\n static int commit_graft_alloc, commit_graft_nr;\n-\n+static const unsigned char *commit_graft_access(size_t index, void *table)\n+{\n+\tstruct commit_graft **grafts = table;\n+\treturn (const unsigned char *)grafts[index];\n+}\n static int commit_graft_pos(const unsigned char *sha1)\n {\n-\tint lo, hi;\n-\tlo = 0;\n-\thi = commit_graft_nr;\n-\twhile (lo < hi) {\n-\t\tint mi = (lo + hi) / 2;\n-\t\tstruct commit_graft *graft = commit_graft[mi];\n-\t\tint cmp = hashcmp(sha1, graft->sha1);\n-\t\tif (!cmp)\n-\t\t\treturn mi;\n-\t\tif (cmp < 0)\n-\t\t\thi = mi;\n-\t\telse\n-\t\t\tlo = mi + 1;\n-\t}\n-\treturn -lo - 1;\n+\treturn sha1_pos(sha1, commit_graft, commit_graft_nr, commit_graft_access);\n }\n \n int register_commit_graft(struct commit_graft *graft, int ignore_dups)\n-- \n1.6.3.3\n"}]}