Skip to content

Commit

Permalink
parse-options.c: introduce OPT_DATE
Browse files Browse the repository at this point in the history
There are quite a few places that will need to call approxidate(),
when they'll adopt the parse-options system, so this patch adds the
function parse_opt_approxidate_cb(), used by OPT_DATE.

Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Michele Ballabio authored and Junio C Hamano committed Mar 27, 2008
1 parent 1768905 commit 1f4a711
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 0 deletions.
7 changes: 7 additions & 0 deletions parse-options.c
Original file line number Diff line number Diff line change
Expand Up @@ -409,3 +409,10 @@ int parse_opt_abbrev_cb(const struct option *opt, const char *arg, int unset)
*(int *)(opt->value) = v;
return 0;
}

int parse_opt_approxidate_cb(const struct option *opt, const char *arg,
int unset)
{
*(unsigned long *)(opt->value) = approxidate(arg);
return 0;
}
4 changes: 4 additions & 0 deletions parse-options.h
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,9 @@ struct option {
#define OPT_SET_PTR(s, l, v, h, p) { OPTION_SET_PTR, (s), (l), (v), NULL, (h), 0, NULL, (p) }
#define OPT_INTEGER(s, l, v, h) { OPTION_INTEGER, (s), (l), (v), NULL, (h) }
#define OPT_STRING(s, l, v, a, h) { OPTION_STRING, (s), (l), (v), (a), (h) }
#define OPT_DATE(s, l, v, h) \
{ OPTION_CALLBACK, (s), (l), (v), "time",(h), 0, \
parse_opt_approxidate_cb }
#define OPT_CALLBACK(s, l, v, a, h, f) \
{ OPTION_CALLBACK, (s), (l), (v), (a), (h), 0, (f) }

Expand All @@ -110,6 +113,7 @@ extern NORETURN void usage_with_options(const char * const *usagestr,

/*----- some often used options -----*/
extern int parse_opt_abbrev_cb(const struct option *, const char *, int);
extern int parse_opt_approxidate_cb(const struct option *, const char *, int);

#define OPT__VERBOSE(var) OPT_BOOLEAN('v', "verbose", (var), "be verbose")
#define OPT__QUIET(var) OPT_BOOLEAN('q', "quiet", (var), "be quiet")
Expand Down

0 comments on commit 1f4a711

Please sign in to comment.