threads / patch / 34965

patchcompat/mingw.h: define PRId64

Subject: [PATCH jk/config-int-range-check] compat/mingw.h: define PRId64

## tl;dr

2 messages between Sep 19, 2013 and Sep 19, 2013. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Johannes Sixt· Sep 19, 2013, 07:17 UTC · lore
From: Johannes Sixt <j6t@kdbg.org>
Provide PRId64 alongside PRIuMAX.
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
---
 I thought I had compiled 'next' on Windows recently...
 This is an emergency fix for a compile error in 'master'.
 compat/mingw.h | 1 +
 1 file changed, 1 insertion(+)
Show changes to compat/mingw.h +1 −0
diff --git a/compat/mingw.h b/compat/mingw.h
index bd0a88b..9eb3b17 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -322,6 +322,7 @@ static inline char *mingw_find_last_dir_sep(const char *path)
 #define find_last_dir_sep mingw_find_last_dir_sep
 #define PATH_SEP ';'
 #define PRIuMAX "I64u"
+#define PRId64 "I64d"
 
 void mingw_open_html(const char *path);
 #define open_html mingw_open_html
-- 
1.8.4.1573.g0cbe1bc
Jeff King· Sep 19, 2013, 07:56 UTC · re: Johannes Sixt · lore

Re: [PATCH jk/config-int-range-check] compat/mingw.h: define PRId64

On Thu, Sep 19, 2013 at 09:17:07AM +0200, Johannes Sixt wrote:
Show 5 quoted lines
> From: Johannes Sixt <j6t@kdbg.org>
> 
> Provide PRId64 alongside PRIuMAX.
> 
> Signed-off-by: Johannes Sixt <j6t@kdbg.org>

Thanks. I had noticed this was the first use of PRId64, but I wasn't sure what various implementations would want.

I notice that we also have a fallback PRIuMAX of "llu" in git-compat-util.h, but I'm not sure which platforms need that, nor what they would want for PRId64. By the explanation in 3efb1f3 and e326bce, it looks like the strategy was to just use a "long long" and hope for the best. So we might want:

Show changes to git-compat-util.h +4 −1
diff --git a/git-compat-util.h b/git-compat-util.h
index 9549de6..4438e7c 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -239,6 +239,10 @@ extern char *gitbasename(char *);
 #define PRIuMAX "llu"
 #endif
 
+#ifndef PRId64
+#define PRId64 "lld"
+#endif
+
 #ifndef PRIu32
 #define PRIu32 "u"
 #endif

as well, but I think I'd rather wait until somebody with an actual
system that needs it reports in (and tells us what the right value for
their system is) as opposed to just guessing.

-Peff

← back to recent threads