From e25c070cb5c85ac3abe787373563a31c8893a669 Mon Sep 17 00:00:00 2001 From: Marat Radchenko Date: Sun, 30 Mar 2014 15:08:21 +0400 Subject: [PATCH] MSVC: fix t0040-parse-options crash On 64-bit MSVC, pointers are 64 bit but `long` is only 32. Thus, casting string to `unsigned long`, which is redundand on other platforms, throws away important bits and when later cast to `intptr_t` results in corrupt pointer. This patch fixes test-parse-options by replacing harming cast with correct one. Signed-off-by: Marat Radchenko Signed-off-by: Junio C Hamano --- test-parse-options.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-parse-options.c b/test-parse-options.c index 434e8b8929..6f6c65692d 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", (unsigned long)"default"), + "set string to default", (intptr_t)"default"), OPT_STRING_LIST(0, "list", &list, "str", "add str to list"), OPT_GROUP("Magic arguments"), OPT_ARGUMENT("quux", "means --quux"), -- 2.11.4.GIT