repack: turn exts array into array-of-struct
This is slightly more verbose, but will let us annotate the extensions with further options in future commits. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King committed
Dec 21, 2013 at 09:00 UTC
42a02d8529953b2a964586fcb4aafe8dd7adffbc
1 file changed
+11
-6
builtin/repack.c
+11
-6
@@ -115,7 +115,12 @@ static void remove_redundant_pack(const char *dir_name, const char *base_name)
115
116
int cmd_repack(int argc, const char **argv, const char *prefix)
117
{
118
- const char *exts[] = {".pack", ".idx"};
118
+ struct {
119
+ const char *name;
120
+ } exts[] = {
121
+ {".pack"},
122
+ {".idx"},
123
+ };
124
struct child_process cmd;
125
struct string_list_item *item;
126
struct argv_array cmd_args = ARGV_ARRAY_INIT;
@@ -261,14 +266,14 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
266
for (ext = 0; ext < ARRAY_SIZE(exts); ext++) {
267
char *fname, *fname_old;
268
fname = mkpathdup("%s/%s%s", packdir,
264
- item->string, exts[ext]);
269
+ item->string, exts[ext].name);
270
if (!file_exists(fname)) {
271
free(fname);
272
continue;
273
}
274
275
fname_old = mkpath("%s/old-%s%s", packdir,
271
- item->string, exts[ext]);
276
+ item->string, exts[ext].name);
277
if (file_exists(fname_old))
278
if (unlink(fname_old))
279
failed = 1;
@@ -319,9 +324,9 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
324
char *fname, *fname_old;
325
struct stat statbuffer;
326
fname = mkpathdup("%s/pack-%s%s",
322
- packdir, item->string, exts[ext]);
327
+ packdir, item->string, exts[ext].name);
328
fname_old = mkpathdup("%s-%s%s",
324
- packtmp, item->string, exts[ext]);
329
+ packtmp, item->string, exts[ext].name);
330
if (!stat(fname_old, &statbuffer)) {
331
statbuffer.st_mode &= ~(S_IWUSR | S_IWGRP | S_IWOTH);
332
chmod(fname_old, statbuffer.st_mode);
@@ -340,7 +345,7 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
345
fname = mkpath("%s/old-pack-%s%s",
346
packdir,
347
item->string,
343
- exts[ext]);
348
+ exts[ext].name);
349
if (remove_path(fname))
350
warning(_("removing '%s' failed"), fname);
351
}