Skip to content

Commit

Permalink
Make builtin-count-objects.c use parse_options.
Browse files Browse the repository at this point in the history
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
  • Loading branch information
Pierre Habouzit authored and Junio C Hamano committed Oct 30, 2007
1 parent 5ac0a20 commit 833f3ab
Showing 1 changed file with 15 additions and 17 deletions.
32 changes: 15 additions & 17 deletions builtin-count-objects.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@

#include "cache.h"
#include "builtin.h"

static const char count_objects_usage[] = "git-count-objects [-v]";
#include "parse-options.h"

static void count_objects(DIR *d, char *path, int len, int verbose,
unsigned long *loose,
Expand Down Expand Up @@ -67,29 +66,28 @@ static void count_objects(DIR *d, char *path, int len, int verbose,
}
}

int cmd_count_objects(int ac, const char **av, const char *prefix)
static char const * const count_objects_usage[] = {
"git-count-objects [-v]",
NULL
};

int cmd_count_objects(int argc, const char **argv, const char *prefix)
{
int i;
int verbose = 0;
int i, verbose = 0;
const char *objdir = get_object_directory();
int len = strlen(objdir);
char *path = xmalloc(len + 50);
unsigned long loose = 0, packed = 0, packed_loose = 0, garbage = 0;
unsigned long loose_size = 0;
struct option opts[] = {
OPT__VERBOSE(&verbose),
OPT_END(),
};

for (i = 1; i < ac; i++) {
const char *arg = av[i];
if (*arg != '-')
break;
else if (!strcmp(arg, "-v"))
verbose = 1;
else
usage(count_objects_usage);
}

argc = parse_options(argc, argv, opts, count_objects_usage, 0);
/* we do not take arguments other than flags for now */
if (i < ac)
usage(count_objects_usage);
if (argc)
usage_with_options(count_objects_usage, opts);
memcpy(path, objdir, len);
if (len && objdir[len-1] != '/')
path[len++] = '/';
Expand Down

0 comments on commit 833f3ab

Please sign in to comment.