{"thread":{"id":"13644","subject":"[PATCH] Remove redundant code, eliminate one static variable","startedAt":"2008-05-23T22:43:55Z","lastAt":"2008-05-25T05:12:26Z","messageCount":2,"participants":["Heikki Orsila","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"77607","messageId":"20080523224355.GA16878@zakalwe.fi","threadId":"13644","inReplyTo":null,"subject":"[PATCH] Remove redundant code, eliminate one static variable","fromName":"Heikki Orsila","fromEmail":"heikki.orsila@iki.fi","sentAt":"2008-05-23T22:43:55Z","receivedAt":"2008-05-23T22:43:55Z","isPatch":true,"sender":{"key":"heikki.orsila@iki.fi","avatar":null},"body":"Signed-off-by: Heikki Orsila <heikki.orsila@iki.fi>\n---\n sha1_file.c |   44 +++++++++++++++++---------------------------\n 1 files changed, 17 insertions(+), 27 deletions(-)\n\ndiff --git a/sha1_file.c b/sha1_file.c\nindex 3516777..e8751d0 100644\n--- a/sha1_file.c\n+++ b/sha1_file.c\n@@ -176,21 +176,22 @@ char *sha1_file_name(const unsigned char *sha1)\n \treturn base;\n }\n \n-char *sha1_pack_name(const unsigned char *sha1)\n+static char *sha1_get_pack_name(const unsigned char *sha1,\n+\t\t\t\tchar **name, char **base)\n {\n \tstatic const char hex[] = \"0123456789abcdef\";\n-\tstatic char *name, *base, *buf;\n+\tchar *buf;\n \tint i;\n \n-\tif (!base) {\n+\tif (!*base) {\n \t\tconst char *sha1_file_directory = get_object_directory();\n \t\tint len = strlen(sha1_file_directory);\n-\t\tbase = xmalloc(len + 60);\n-\t\tsprintf(base, \"%s/pack/pack-1234567890123456789012345678901234567890.pack\", sha1_file_directory);\n-\t\tname = base + len + 11;\n+\t\t*base = xmalloc(len + 60);\n+\t\tsprintf(*base, \"%s/pack/pack-1234567890123456789012345678901234567890.pack\", sha1_file_directory);\n+\t\t*name = *base + len + 11;\n \t}\n \n-\tbuf = name;\n+\tbuf = *name;\n \n \tfor (i = 0; i < 20; i++) {\n \t\tunsigned int val = *sha1++;\n@@ -198,32 +199,21 @@ char *sha1_pack_name(const unsigned char *sha1)\n \t\t*buf++ = hex[val & 0xf];\n \t}\n \n-\treturn base;\n+\treturn *base;\n }\n \n-char *sha1_pack_index_name(const unsigned char *sha1)\n+char *sha1_pack_name(const unsigned char *sha1)\n {\n-\tstatic const char hex[] = \"0123456789abcdef\";\n-\tstatic char *name, *base, *buf;\n-\tint i;\n-\n-\tif (!base) {\n-\t\tconst char *sha1_file_directory = get_object_directory();\n-\t\tint len = strlen(sha1_file_directory);\n-\t\tbase = xmalloc(len + 60);\n-\t\tsprintf(base, \"%s/pack/pack-1234567890123456789012345678901234567890.idx\", sha1_file_directory);\n-\t\tname = base + len + 11;\n-\t}\n+\tstatic char *name, *base;\n \n-\tbuf = name;\n+\treturn sha1_get_pack_name(sha1, &name, &base);\n+}\n \n-\tfor (i = 0; i < 20; i++) {\n-\t\tunsigned int val = *sha1++;\n-\t\t*buf++ = hex[val >> 4];\n-\t\t*buf++ = hex[val & 0xf];\n-\t}\n+char *sha1_pack_index_name(const unsigned char *sha1)\n+{\n+\tstatic char *name, *base;\n \n-\treturn base;\n+\treturn sha1_get_pack_name(sha1, &name, &base);\n }\n \n struct alternate_object_database *alt_odb_list;\n-- \n1.5.5.1.1.ga5e5c\n"},{"id":"77692","messageId":"7vhccnj7b9.fsf@gitster.siamese.dyndns.org","threadId":"13644","inReplyTo":"20080523224355.GA16878@zakalwe.fi","subject":"Re: [PATCH] Remove redundant code, eliminate one static variable","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-05-25T05:12:26Z","receivedAt":"2008-05-25T05:12:26Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Thanks.\n"}]}