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"),