parse-options: add cast to correct pointer type to OPT_SET_PTR
Do not force users of OPT_SET_PTR to cast pointer to correct underlying pointer type by integrating cast into OPT_SET_PTR macro. Cast is required to prevent 'initialization makes integer from pointer without a cast' compiler warning. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano committed
Mar 29, 2014 at 19:01 UTC
9ff8ff310b71ab79ffb0ecaa004dec65cec31a45
2 files changed
+2
-2
parse-options.h
+1
-1
@@ -129,7 +129,7 @@ struct option {
129
#define OPT_HIDDEN_BOOL(s, l, v, h) { OPTION_SET_INT, (s), (l), (v), NULL, \
130
(h), PARSE_OPT_NOARG | PARSE_OPT_HIDDEN, NULL, 1}
131
#define OPT_SET_PTR(s, l, v, h, p) { OPTION_SET_PTR, (s), (l), (v), NULL, \
132
- (h), PARSE_OPT_NOARG, NULL, (p) }
132
+ (h), PARSE_OPT_NOARG, NULL, (intptr_t)(p) }
133
#define OPT_CMDMODE(s, l, v, h, i) { OPTION_CMDMODE, (s), (l), (v), NULL, \
134
(h), PARSE_OPT_NOARG|PARSE_OPT_NONEG, NULL, (i) }
135
#define OPT_INTEGER(s, l, v, h) { OPTION_INTEGER, (s), (l), (v), N_("n"), (h) }
test-parse-options.c
+1
-1
@@ -60,7 +60,7 @@ int main(int argc, char **argv)
60
OPT_STRING('o', NULL, &string, "str", "get another string"),
61
OPT_NOOP_NOARG(0, "obsolete"),
62
OPT_SET_PTR(0, "default-string", &string,
63
- "set string to default", (intptr_t)"default"),
63
+ "set string to default", "default"),
64
OPT_STRING_LIST(0, "list", &list, "str", "add str to list"),
65
OPT_GROUP("Magic arguments"),
66
OPT_ARGUMENT("quux", "means --quux"),