{"thread":{"id":"5825","subject":"[PATCH 4/5] blame.c: move code to output metainfo into a separate function.","startedAt":"2006-10-05T21:06:42Z","lastAt":"2006-10-05T21:06:42Z","messageCount":1,"participants":["Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":5},"messages":[{"id":"28251","messageId":"7vbqoqcw0t.fsf@assigned-by-dhcp.cox.net","threadId":"5825","inReplyTo":null,"subject":"[PATCH 4/5] blame.c: move code to output metainfo into a separate function.","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-10-05T21:06:42Z","receivedAt":"2006-10-05T21:06:42Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"This does not change any behaviour, but just separates out the\ncode to emit the initial part of the output of each line into a\nseparate function, since I'll be mucking with it further.\n\nSigned-off-by: Junio C Hamano <junkio@cox.net>\n---\n blame.c |   76 +++++++++++++++++++++++++++++++++++++-------------------------\n 1 files changed, 45 insertions(+), 31 deletions(-)\n\ndiff --git a/blame.c b/blame.c\nindex bf4a1a1..47471e8 100644\n--- a/blame.c\n+++ b/blame.c\n@@ -750,6 +750,42 @@ static int find_orig_linenum(struct util\n \treturn 0;\n }\n \n+static void emit_meta(struct commit *c, int lno,\n+\t\t      int sha1_len, int compatibility,\n+\t\t      int show_name, int show_number, int show_raw_time,\n+\t\t      int longest_file, int longest_author,\n+\t\t      int max_digits, int max_orig_digits)\n+{\n+\tstruct util_info *u;\n+\tint lineno;\n+\tstruct commit_info ci;\n+\n+\tu = c->util;\n+\tlineno = find_orig_linenum(u, lno);\n+\n+\tget_commit_info(c, &ci);\n+\tfwrite(sha1_to_hex(c->object.sha1), sha1_len, 1, stdout);\n+\tif (compatibility) {\n+\t\tprintf(\"\\t(%10s\\t%10s\\t%d)\", ci.author,\n+\t\t       format_time(ci.author_time, ci.author_tz,\n+\t\t\t\t   show_raw_time),\n+\t\t       lno + 1);\n+\t}\n+\telse {\n+\t\tif (show_name)\n+\t\t\tprintf(\" %-*.*s\", longest_file, longest_file,\n+\t\t\t       u->pathname);\n+\t\tif (show_number)\n+\t\t\tprintf(\" %*d\", max_orig_digits,\n+\t\t\t       lineno);\n+\t\tprintf(\" (%-*.*s %10s %*d) \",\n+\t\t       longest_author, longest_author, ci.author,\n+\t\t       format_time(ci.author_time, ci.author_tz,\n+\t\t\t\t   show_raw_time),\n+\t\t       max_digits, lno + 1);\n+\t}\n+}\n+\n int main(int argc, const char **argv)\n {\n \tint i;\n@@ -877,6 +913,10 @@ int main(int argc, const char **argv)\n \tprepare_revision_walk(&rev);\n \tprocess_commits(&rev, filename, &initial);\n \n+\tfor (i = 0; i < num_blame_lines; i++)\n+\t\tif (!blame_lines[i])\n+\t\t\tblame_lines[i] = initial;\n+\n \tbuf = blame_contents;\n \tmax_digits = lineno_width(num_blame_lines);\n \n@@ -886,8 +926,6 @@ int main(int argc, const char **argv)\n \tfor (i = 0; i < num_blame_lines; i++) {\n \t\tstruct commit *c = blame_lines[i];\n \t\tstruct util_info *u;\n-\t\tif (!c)\n-\t\t\tc = initial;\n \t\tu = c->util;\n \n \t\tif (!show_name && strcmp(filename, u->pathname))\n@@ -904,35 +942,11 @@ int main(int argc, const char **argv)\n \tmax_orig_digits = lineno_width(longest_file_lines);\n \n \tfor (i = 0; i < num_blame_lines; i++) {\n-\t\tstruct commit *c = blame_lines[i];\n-\t\tstruct util_info *u;\n-\t\tint lineno;\n-\t\tif (!c)\n-\t\t\tc = initial;\n-\t\tu = c->util;\n-\t\tlineno = find_orig_linenum(u, i);\n-\n-\t\tget_commit_info(c, &ci);\n-\t\tfwrite(sha1_to_hex(c->object.sha1), sha1_len, 1, stdout);\n-\t\tif (compatibility) {\n-\t\t\tprintf(\"\\t(%10s\\t%10s\\t%d)\", ci.author,\n-\t\t\t       format_time(ci.author_time, ci.author_tz,\n-\t\t\t\t\t   show_raw_time),\n-\t\t\t       i+1);\n-\t\t}\n-\t\telse {\n-\t\t\tif (show_name)\n-\t\t\t\tprintf(\" %-*.*s\", longest_file, longest_file,\n-\t\t\t\t       u->pathname);\n-\t\t\tif (show_number)\n-\t\t\t\tprintf(\" %*d\", max_orig_digits,\n-\t\t\t\t       lineno);\n-\t\t\tprintf(\" (%-*.*s %10s %*d) \",\n-\t\t\t       longest_author, longest_author, ci.author,\n-\t\t\t       format_time(ci.author_time, ci.author_tz,\n-\t\t\t\t\t   show_raw_time),\n-\t\t\t       max_digits, i+1);\n-\t\t}\n+\t\temit_meta(blame_lines[i], i,\n+\t\t\t  sha1_len, compatibility,\n+\t\t\t  show_name, show_number, show_raw_time,\n+\t\t\t  longest_file, longest_author,\n+\t\t\t  max_digits, max_orig_digits);\n \n \t\tif (i == num_blame_lines - 1) {\n \t\t\tfwrite(buf, blame_len - (buf - blame_contents),\n-- \n1.4.2.3.g866f3\n"}]}