diff options
author | Junio C Hamano <gitster@pobox.com> | 2014-04-08 12:00:16 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-04-08 12:00:17 -0700 |
commit | b389e04031ffe4c725161a082ff748bd33688641 (patch) | |
tree | bb76d767a8c91617cccb15f15371240360b4fd64 | |
parent | ed15e20ba36eaf85453915ef5130a770caa8d3e7 (diff) | |
parent | 20d1c6528c76242581e89c271679d35884d916dc (diff) | |
download | git-b389e04031ffe4c725161a082ff748bd33688641.tar.gz git-b389e04031ffe4c725161a082ff748bd33688641.tar.xz |
Merge branch 'mr/opt-set-ptr'
OPT_SET_PTR() implementation was broken on IL32P64 platforms;
it turns out that the macro is not used by any real user.
* mr/opt-set-ptr:
parse-options: remove unused OPT_SET_PTR
parse-options: add cast to correct pointer type to OPT_SET_PTR
MSVC: fix t0040-parse-options crash
-rw-r--r-- | Documentation/technical/api-parse-options.txt | 4 | ||||
-rw-r--r-- | parse-options.c | 5 | ||||
-rw-r--r-- | parse-options.h | 5 | ||||
-rwxr-xr-x | t/t0040-parse-options.sh | 7 | ||||
-rw-r--r-- | test-parse-options.c | 2 |
5 files changed, 4 insertions, 19 deletions
diff --git a/Documentation/technical/api-parse-options.txt b/Documentation/technical/api-parse-options.txt index be50cf4de..1f2db3131 100644 --- a/Documentation/technical/api-parse-options.txt +++ b/Documentation/technical/api-parse-options.txt @@ -160,10 +160,6 @@ There are some macros to easily define options: `int_var` is set to `integer` with `--option`, and reset to zero with `--no-option`. -`OPT_SET_PTR(short, long, &ptr_var, description, ptr)`:: - Introduce a boolean option. - If used, set `ptr_var` to `ptr`. - `OPT_STRING(short, long, &str_var, arg_str, description)`:: Introduce an option with string argument. The string argument is put into `str_var`. diff --git a/parse-options.c b/parse-options.c index c81d3a065..b536896f2 100644 --- a/parse-options.c +++ b/parse-options.c @@ -127,10 +127,6 @@ static int get_value(struct parse_opt_ctx_t *p, *(int *)opt->value = opt->defval; return 0; - case OPTION_SET_PTR: - *(void **)opt->value = unset ? NULL : (void *)opt->defval; - return 0; - case OPTION_STRING: if (unset) *(const char **)opt->value = NULL; @@ -367,7 +363,6 @@ static void parse_options_check(const struct option *opts) case OPTION_BIT: case OPTION_NEGBIT: case OPTION_SET_INT: - case OPTION_SET_PTR: case OPTION_NUMBER: if ((opts->flags & PARSE_OPT_OPTARG) || !(opts->flags & PARSE_OPT_NOARG)) diff --git a/parse-options.h b/parse-options.h index 8fa02dc9a..318967669 100644 --- a/parse-options.h +++ b/parse-options.h @@ -12,7 +12,6 @@ enum parse_opt_type { OPTION_NEGBIT, OPTION_COUNTUP, OPTION_SET_INT, - OPTION_SET_PTR, OPTION_CMDMODE, /* options with arguments (usually) */ OPTION_STRING, @@ -96,7 +95,7 @@ typedef int parse_opt_ll_cb(struct parse_opt_ctx_t *ctx, * * `defval`:: * default value to fill (*->value) with for PARSE_OPT_OPTARG. - * OPTION_{BIT,SET_INT,SET_PTR} store the {mask,integer,pointer} to put in + * OPTION_{BIT,SET_INT} store the {mask,integer,pointer} to put in * the value when met. * CALLBACKS can use it like they want. */ @@ -128,8 +127,6 @@ struct option { #define OPT_BOOL(s, l, v, h) OPT_SET_INT(s, l, v, h, 1) #define OPT_HIDDEN_BOOL(s, l, v, h) { OPTION_SET_INT, (s), (l), (v), NULL, \ (h), PARSE_OPT_NOARG | PARSE_OPT_HIDDEN, NULL, 1} -#define OPT_SET_PTR(s, l, v, h, p) { OPTION_SET_PTR, (s), (l), (v), NULL, \ - (h), PARSE_OPT_NOARG, NULL, (p) } #define OPT_CMDMODE(s, l, v, h, i) { OPTION_CMDMODE, (s), (l), (v), NULL, \ (h), PARSE_OPT_NOARG|PARSE_OPT_NONEG, NULL, (i) } #define OPT_INTEGER(s, l, v, h) { OPTION_INTEGER, (s), (l), (v), N_("n"), (h) } diff --git a/t/t0040-parse-options.sh b/t/t0040-parse-options.sh index 65606df3e..a90c86bfa 100755 --- a/t/t0040-parse-options.sh +++ b/t/t0040-parse-options.sh @@ -30,7 +30,6 @@ String options --string2 <str> get another string --st <st> get another string (pervert ordering) -o <str> get another string - --default-string set string to default --list <str> add str to list Magic arguments @@ -293,7 +292,7 @@ cat > expect <<EOF boolean: 0 integer: 0 timestamp: 1 -string: default +string: (not set) abbrev: 7 verbose: 0 quiet: yes @@ -302,8 +301,8 @@ file: (not set) arg 00: foo EOF -test_expect_success 'OPT_DATE() and OPT_SET_PTR() work' ' - test-parse-options -t "1970-01-01 00:00:01 +0000" --default-string \ +test_expect_success 'OPT_DATE() works' ' + test-parse-options -t "1970-01-01 00:00:01 +0000" \ foo -q > output 2> output.err && test_must_be_empty output.err && test_cmp expect output diff --git a/test-parse-options.c b/test-parse-options.c index 434e8b892..5dabce60f 100644 --- a/test-parse-options.c +++ b/test-parse-options.c @@ -59,8 +59,6 @@ int main(int argc, char **argv) OPT_STRING(0, "st", &string, "st", "get another string (pervert ordering)"), OPT_STRING('o', NULL, &string, "str", "get another string"), OPT_NOOP_NOARG(0, "obsolete"), - OPT_SET_PTR(0, "default-string", &string, - "set string to default", (unsigned long)"default"), OPT_STRING_LIST(0, "list", &list, "str", "add str to list"), OPT_GROUP("Magic arguments"), OPT_ARGUMENT("quux", "means --quux"), |