git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v4 2/3] parse-options: add cast to correct pointer type to OPT_SET_PTR

From
Marat Radchenko <marat@slonopotamus.org>
Date
Mar 30, 2014, 11:08 UTC
Message-ID
<55b78495a0a171d0dbe3ec5a39d04359e1989b91.1396177208.git.marat@slonopotamus.org>
In-Reply-To
<cover.1396177207.git.marat@slonopotamus.org>

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.
---
 parse-options.h      | 2 +-
 test-parse-options.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/parse-options.h b/parse-options.h
index 8fa02dc..54099d9 100644
--- a/parse-options.h
+++ b/parse-options.h
@@ -129,7 +129,7 @@ struct option {
 #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) }
+				      (h), PARSE_OPT_NOARG, NULL, (intptr_t)(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/test-parse-options.c b/test-parse-options.c
index 6f6c656..10da63e 100644
--- a/test-parse-options.c
+++ b/test-parse-options.c
@@ -60,7 +60,7 @@ int main(int argc, char **argv)
 		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", (intptr_t)"default"),
+			"set string to default", "default"),
 		OPT_STRING_LIST(0, "list", &list, "str", "add str to list"),
 		OPT_GROUP("Magic arguments"),
 		OPT_ARGUMENT("quux", "means --quux"),
-- 
1.9.0
Previous: Marat RadchenkoNext: Junio C Hamano
Message 12 of 17 in “MSVC: fix t0040-parse-options”
  1. MSVC: fix t0040-parse-optionsMarat Radchenko, Mar 28, 2014
  2. Junio C HamanoMar 28, 2014
  3. MSVC: fix t0040-parse-options crashMarat Radchenko, Mar 29, 2014
  4. MSVC: fix t0040-parse-options crashMarat Radchenko, Mar 29, 2014
  5. Andreas SchwabMar 29, 2014
  6. René ScharfeMar 29, 2014
  7. Junio C HamanoMar 30, 2014
  8. Andreas SchwabMar 30, 2014
  9. Jeff KingMar 31, 2014
  10. 0/3 Take four on fixing OPT_SET_PTR issuesMarat Radchenko, Mar 30, 2014
  11. 1/3 MSVC: fix t0040-parse-options crashMarat Radchenko, Mar 30, 2014
  12. 2/3 parse-options: add cast to correct pointer type to OPT_SET_PTRMarat Radchenko, Mar 30, 2014
  13. Junio C HamanoMar 31, 2014
  14. 3/3 parse-options: remove unused OPT_SET_PTRMarat Radchenko, Mar 30, 2014
  15. Junio C HamanoMar 31, 2014
  16. Jeff KingMar 31, 2014
  17. Junio C HamanoMar 31, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.