@matheusbsbs / matheus-bagliano / commits / 633f43e1f7
Fork 0

Remove redundant code, eliminate one static variable

Signed-off-by: Heikki Orsila <heikki.orsila@iki.fi> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Heikki Orsila committed May 24, 2008 at 01:43 UTC 633f43e1f774337ce1d8b8cf01c5bbe82b086ef6
1 file changed +17 -27
sha1_file.c
+17 -27
@@ -176,21 +176,22 @@ char *sha1_file_name(const unsigned char *sha1)
176 return base;
177 }
178
179 -char *sha1_pack_name(const unsigned char *sha1)
179 +static char *sha1_get_pack_name(const unsigned char *sha1,
180 + char **name, char **base)
181 {
182 static const char hex[] = "0123456789abcdef";
182 - static char *name, *base, *buf;
183 + char *buf;
184 int i;
185
185 - if (!base) {
186 + if (!*base) {
187 const char *sha1_file_directory = get_object_directory();
188 int len = strlen(sha1_file_directory);
188 - base = xmalloc(len + 60);
189 - sprintf(base, "%s/pack/pack-1234567890123456789012345678901234567890.pack", sha1_file_directory);
190 - name = base + len + 11;
189 + *base = xmalloc(len + 60);
190 + sprintf(*base, "%s/pack/pack-1234567890123456789012345678901234567890.pack", sha1_file_directory);
191 + *name = *base + len + 11;
192 }
193
193 - buf = name;
194 + buf = *name;
195
196 for (i = 0; i < 20; i++) {
197 unsigned int val = *sha1++;
@@ -198,32 +199,21 @@ char *sha1_pack_name(const unsigned char *sha1)
199 *buf++ = hex[val & 0xf];
200 }
201
201 - return base;
202 + return *base;
203 }
204
204 -char *sha1_pack_index_name(const unsigned char *sha1)
205 +char *sha1_pack_name(const unsigned char *sha1)
206 {
206 - static const char hex[] = "0123456789abcdef";
207 - static char *name, *base, *buf;
208 - int i;
209 -
210 - if (!base) {
211 - const char *sha1_file_directory = get_object_directory();
212 - int len = strlen(sha1_file_directory);
213 - base = xmalloc(len + 60);
214 - sprintf(base, "%s/pack/pack-1234567890123456789012345678901234567890.idx", sha1_file_directory);
215 - name = base + len + 11;
216 - }
207 + static char *name, *base;
208
218 - buf = name;
209 + return sha1_get_pack_name(sha1, &name, &base);
210 +}
211
220 - for (i = 0; i < 20; i++) {
221 - unsigned int val = *sha1++;
222 - *buf++ = hex[val >> 4];
223 - *buf++ = hex[val & 0xf];
224 - }
212 +char *sha1_pack_index_name(const unsigned char *sha1)
213 +{
214 + static char *name, *base;
215
226 - return base;
216 + return sha1_get_pack_name(sha1, &name, &base);
217 }
218
219 struct alternate_object_database *alt_odb_list;