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>
This commit is contained in:
Jeff King 2013-12-21 09:00:23 -05:00 committed by Junio C Hamano
parent b328c2166e
commit 42a02d8529

View File

@ -115,7 +115,12 @@ static void remove_redundant_pack(const char *dir_name, const char *base_name)
int cmd_repack(int argc, const char **argv, const char *prefix) int cmd_repack(int argc, const char **argv, const char *prefix)
{ {
const char *exts[] = {".pack", ".idx"}; struct {
const char *name;
} exts[] = {
{".pack"},
{".idx"},
};
struct child_process cmd; struct child_process cmd;
struct string_list_item *item; struct string_list_item *item;
struct argv_array cmd_args = ARGV_ARRAY_INIT; struct argv_array cmd_args = ARGV_ARRAY_INIT;
@ -261,14 +266,14 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
for (ext = 0; ext < ARRAY_SIZE(exts); ext++) { for (ext = 0; ext < ARRAY_SIZE(exts); ext++) {
char *fname, *fname_old; char *fname, *fname_old;
fname = mkpathdup("%s/%s%s", packdir, fname = mkpathdup("%s/%s%s", packdir,
item->string, exts[ext]); item->string, exts[ext].name);
if (!file_exists(fname)) { if (!file_exists(fname)) {
free(fname); free(fname);
continue; continue;
} }
fname_old = mkpath("%s/old-%s%s", packdir, fname_old = mkpath("%s/old-%s%s", packdir,
item->string, exts[ext]); item->string, exts[ext].name);
if (file_exists(fname_old)) if (file_exists(fname_old))
if (unlink(fname_old)) if (unlink(fname_old))
failed = 1; failed = 1;
@ -319,9 +324,9 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
char *fname, *fname_old; char *fname, *fname_old;
struct stat statbuffer; struct stat statbuffer;
fname = mkpathdup("%s/pack-%s%s", fname = mkpathdup("%s/pack-%s%s",
packdir, item->string, exts[ext]); packdir, item->string, exts[ext].name);
fname_old = mkpathdup("%s-%s%s", fname_old = mkpathdup("%s-%s%s",
packtmp, item->string, exts[ext]); packtmp, item->string, exts[ext].name);
if (!stat(fname_old, &statbuffer)) { if (!stat(fname_old, &statbuffer)) {
statbuffer.st_mode &= ~(S_IWUSR | S_IWGRP | S_IWOTH); statbuffer.st_mode &= ~(S_IWUSR | S_IWGRP | S_IWOTH);
chmod(fname_old, statbuffer.st_mode); chmod(fname_old, statbuffer.st_mode);
@ -340,7 +345,7 @@ int cmd_repack(int argc, const char **argv, const char *prefix)
fname = mkpath("%s/old-pack-%s%s", fname = mkpath("%s/old-pack-%s%s",
packdir, packdir,
item->string, item->string,
exts[ext]); exts[ext].name);
if (remove_path(fname)) if (remove_path(fname))
warning(_("removing '%s' failed"), fname); warning(_("removing '%s' failed"), fname);
} }