[PATCH 3/9] builtin-prune-packed.c: use parse_options()
Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
---
builtin-prune-packed.c | 38 ++++++++++++++++++--------------------
1 files changed, 18 insertions(+), 20 deletions(-)
diff --git a/builtin-prune-packed.c b/builtin-prune-packed.c
index 10cb8df..5866871 100644
--- a/builtin-prune-packed.c
+++ b/builtin-prune-packed.c
@@ -1,12 +1,15 @@
#include "builtin.h"
#include "cache.h"
#include "progress.h"
+#include "parse-options.h"
-static const char prune_packed_usage[] =
-"git prune-packed [-n] [-q]";
+static const char * const prune_packed_usage[] = {
+ "git prune-packed [-n] [-q]",
+ NULL
+};
#define DRY_RUN 01
-#define VERBOSE 02
+#define QUIET 02
static struct progress *progress;
@@ -43,7 +46,7 @@ void prune_packed_objects(int opts)
const char *dir = get_object_directory();
int len = strlen(dir);
- if (opts == VERBOSE)
+ if (!opts)
progress = start_progress_delay("Removing duplicate objects",
256, 95, 2);
@@ -67,24 +70,19 @@ void prune_packed_objects(int opts)
int cmd_prune_packed(int argc, const char **argv, const char *prefix)
{
- int i;
- int opts = VERBOSE;
+ int opts = 0;
- for (i = 1; i < argc; i++) {
- const char *arg = argv[i];
+ const struct option options[] = {
+ OPT_BIT('n', "dry-run", &opts, "dry run", DRY_RUN),
+ OPT_BIT('q', "quiet", &opts, "be quiet", QUIET),
+ OPT_END()
+ };
+
+ argc = parse_options(argc, argv, options, prune_packed_usage, 0);
+
+ if (argc > 0)
+ usage_with_options(prune_packed_usage, options);
- if (*arg == '-') {
- if (!strcmp(arg, "-n"))
- opts |= DRY_RUN;
- else if (!strcmp(arg, "-q"))
- opts &= ~VERBOSE;
- else
- usage(prune_packed_usage);
- continue;
- }
- /* Handle arguments here .. */
- usage(prune_packed_usage);
- }
prune_packed_objects(opts);
return 0;
}
--
1.5.6.3